我是Python和Pandas的新手.

我正在尝试构建一个数据帧,然后用值填充它.

我构建了我的数据帧

from pandas import *

ageMin = 21

ageMax = 31

ageStep = 2

bins_sumins = [0, 10000, 20000]

bins_age = list(range(ageMin, ageMax, ageStep))

indeks_sex = ['M', 'F']

indeks_age = ['[{0}-{1})'.format(bins_age[i-1], bins_age[i]) for i in range(1, len(bins_age))]

indeks_sumins = ['[{0}-{1})'.format(bins_sumins[i-1], bins_sumins[i]) for i in range(1, len(bins_sumins))]

indeks = MultiIndex.from_product([indeks_age , indeks_sex ,indeks_sumins], names=['Age', 'Sex', 'Sumins'])

cols = ['A', 'B', 'C', 'D']

df = DataFrame(data = 0, index = indeks, columns = cols)

到目前为止一切都很好.我能够为整个值集赋值

>>> df['A']['[21-23)']['M'] = 1

>>> df

A B C D

Age Sex Sumins

[21-23) M [0-10000) 1 0 0 0

[10000-20000) 1 0 0 0

F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

[23-25) M [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

[25-27) M [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

[27-29) M [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

但是,仅设置一个位置的值是不行的……

>>> df['B']['[21-23)']['M']['[10000-20000)'] = 2

>>> df

A B C D

Age Sex Sumins

[21-23) M [0-10000) 1 0 0 0

[10000-20000) 1 0 0 0

F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

[23-25) M [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

[25-27) M [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

[27-29) M [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

[16 rows x 4 columns]

这里发生了什么?我对这个想法很开放,我完全误解了多索引的工作原理.任何人?

解决方法:

这将使您获得此解决方案:

In [46]: df = df.sort_index()

In [47]: df.loc['[21-23)', 'M', '[10000-20000)'] = 2

In [48]: df

Out[48]:

A B C D

Age Sex Sumins

[21-23) F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

M [0-10000) 0 0 0 0

[10000-20000) 2 2 2 2

[23-25) F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

M [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

[25-27) F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

M [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

[27-29) F [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

M [0-10000) 0 0 0 0

[10000-20000) 0 0 0 0

[16 rows x 4 columns]

标签:python,pandas,multi-index

来源: https://codeday.me/bug/20190517/1119944.html

python如何设置双索引_python – 设置值多索引熊猫相关推荐

  1. python excel 单元格格式_python设置单元格数值格式

    python xlwt如何设置单元格格式 python xlwt模块怎么设置excel单元格的属性 如图,默认是general.我想写入的时候就是Text类型.请问应该怎么做. from xlwt i ...

  2. python全局变量在哪创建_python设置全局变量

    python中怎么定义全局变量 复制代码 count = 0 def Fuc(count): print count count += 1 for i in range(0, 10): Fuc(cou ...

  3. w7设置双显示器_Win7如何设置双显示器?设置双显示器的方法

    一般情况我们的电脑都是一台电脑只配一个显示器,但因工作的需要,会用到两台,甚至三台以上的显示器.使用Win7系统用户,想设置一台电脑两个显示器.要如何设置?设置双显示器有什么方法?下面就和大家说一下W ...

  4. python数组排序返回索引_python列表排序返回索引

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我需要对列表进行排序,然后返回一个列表,其中包含列表中排序项的索引... 我有一 ...

  5. python设置环境变量_Python设置环境变量

    python设置环境变量 We can set an environment variable in Python using os module. Python os module environ ...

  6. python随机种子怎么用_python设置随机种子实例讲解

    python设置随机种子实例讲解 对于原生的random模块 import random random.seed(1) 如果不设置,则python根据系统时间自己定一个. 也可以自己根据时间定一个随机 ...

  7. python word 表格 框线_python设置表格边框的具体方法

    安装 xlwings 直接安装用 pip install xlwings,用 anaconda 的,已经内置了,见下图. 导入 xlwings import xlwings as xw 打开 Exce ...

  8. python给函数设置超时时间_Python设置函数调用超时

    http://blog.sina.com.cn/s/blog_63041bb80102uy5o.html 背景: 最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置 ...

  9. python读excel字体颜色_python 设置 excel 单元格颜色填充和字体效果

    原博文 2020-02-29 23:33 − 0.import import openpyxl from openpyxl.styles import colors, fills, Font, Pat ...

最新文章

  1. Linux mail 命令参数
  2. SQL Server插入中文数据出现乱码问题
  3. 【计算机算法设计与分析】——5.4最优二分检索树
  4. 程序设计竞赛资源索引
  5. 分布式系统 c语言,C语言分布式系统中的进程标识!
  6. sae mysql_connect_SAE连接数据库 - zxm的个人空间 - OSCHINA - 中文开源技术交流社区
  7. android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
  8. 20150217 IMX257实现GPIO-IRQ中断按键驱动程序
  9. Java基本数据类型自动转换
  10. java 基础 ppt_《Java基础入门》PPT_传智播客.rar
  11. mysql查询字段为null的方法
  12. 遥感导论网课_经典课程教材遥感导论.pdf
  13. SparkMLlib之二Basic Stastics
  14. win2008服务器共享文件夹权限设置,win2008文件夹共享权限怎么设置
  15. 2008年IT产业38个判断(转载)
  16. myeclipse破解补丁
  17. 马云背后的电商SaaS,到底谁在埋单?
  18. 主攻文推荐攻守都有系统_坚守最后一道防线
  19. 51单片机汇编入门基础代码-流水灯
  20. QT 之 编译错误总结(2)

热门文章

  1. HDFS的Java操作
  2. mysql事务最大个数_事务、mysql数据库的默认最大连接数、分页
  3. 手机连接电脑wifi上网_手机设置无线路由器方法教你一分钟学会WIFI上网(无需电脑)...
  4. linux关于管道通信,球热心人帮忙 关于linux环境下管道通信
  5. java后台生成excel_Java后台生成Excel前台下载
  6. 功能测试用例不好写?来自阿里大佬的设计方法分享
  7. 、简述global关键字的作用_二十三、Python变量作用域(局部变量和全局变量)
  8. python打包及支持pip安装
  9. 单链表的创建、测长、打印、插入、删除、排序及逆置
  10. UnitTest测试框架全栈详解