python如何设置双索引_python – 设置值多索引熊猫
我是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 – 设置值多索引熊猫相关推荐
- python excel 单元格格式_python设置单元格数值格式
python xlwt如何设置单元格格式 python xlwt模块怎么设置excel单元格的属性 如图,默认是general.我想写入的时候就是Text类型.请问应该怎么做. from xlwt i ...
- python全局变量在哪创建_python设置全局变量
python中怎么定义全局变量 复制代码 count = 0 def Fuc(count): print count count += 1 for i in range(0, 10): Fuc(cou ...
- w7设置双显示器_Win7如何设置双显示器?设置双显示器的方法
一般情况我们的电脑都是一台电脑只配一个显示器,但因工作的需要,会用到两台,甚至三台以上的显示器.使用Win7系统用户,想设置一台电脑两个显示器.要如何设置?设置双显示器有什么方法?下面就和大家说一下W ...
- python数组排序返回索引_python列表排序返回索引
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我需要对列表进行排序,然后返回一个列表,其中包含列表中排序项的索引... 我有一 ...
- python设置环境变量_Python设置环境变量
python设置环境变量 We can set an environment variable in Python using os module. Python os module environ ...
- python随机种子怎么用_python设置随机种子实例讲解
python设置随机种子实例讲解 对于原生的random模块 import random random.seed(1) 如果不设置,则python根据系统时间自己定一个. 也可以自己根据时间定一个随机 ...
- python word 表格 框线_python设置表格边框的具体方法
安装 xlwings 直接安装用 pip install xlwings,用 anaconda 的,已经内置了,见下图. 导入 xlwings import xlwings as xw 打开 Exce ...
- python给函数设置超时时间_Python设置函数调用超时
http://blog.sina.com.cn/s/blog_63041bb80102uy5o.html 背景: 最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置 ...
- python读excel字体颜色_python 设置 excel 单元格颜色填充和字体效果
原博文 2020-02-29 23:33 − 0.import import openpyxl from openpyxl.styles import colors, fills, Font, Pat ...
最新文章
- Linux mail 命令参数
- SQL Server插入中文数据出现乱码问题
- 【计算机算法设计与分析】——5.4最优二分检索树
- 程序设计竞赛资源索引
- 分布式系统 c语言,C语言分布式系统中的进程标识!
- sae mysql_connect_SAE连接数据库 - zxm的个人空间 - OSCHINA - 中文开源技术交流社区
- android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
- 20150217 IMX257实现GPIO-IRQ中断按键驱动程序
- Java基本数据类型自动转换
- java 基础 ppt_《Java基础入门》PPT_传智播客.rar
- mysql查询字段为null的方法
- 遥感导论网课_经典课程教材遥感导论.pdf
- SparkMLlib之二Basic Stastics
- win2008服务器共享文件夹权限设置,win2008文件夹共享权限怎么设置
- 2008年IT产业38个判断(转载)
- myeclipse破解补丁
- 马云背后的电商SaaS,到底谁在埋单?
- 主攻文推荐攻守都有系统_坚守最后一道防线
- 51单片机汇编入门基础代码-流水灯
- QT 之 编译错误总结(2)
热门文章
- HDFS的Java操作
- mysql事务最大个数_事务、mysql数据库的默认最大连接数、分页
- 手机连接电脑wifi上网_手机设置无线路由器方法教你一分钟学会WIFI上网(无需电脑)...
- linux关于管道通信,球热心人帮忙 关于linux环境下管道通信
- java后台生成excel_Java后台生成Excel前台下载
- 功能测试用例不好写?来自阿里大佬的设计方法分享
- 、简述global关键字的作用_二十三、Python变量作用域(局部变量和全局变量)
- python打包及支持pip安装
- 单链表的创建、测长、打印、插入、删除、排序及逆置
- UnitTest测试框架全栈详解