我有以下数据帧
In[45]: data[:10]
Out[45]:
Z A beta2 M shell
0 100 200 0.3112 197.2 -4.213
1 100 200 -0.4197 202 -1.143
2 100 200 0.03205 203 0
3 100 201 0.2967 191 -4.434
4 100 201 -0.4893 196.1 -4.691
5 100 202 0.3084 183.4 -4.134
6 100 202 -0.4873 188.2 -4.75
7 100 202 -0.2483 188.4 -1.106
8 100 203 0.3069 177.1 -4.355
9 101 203 -0.4956 182.5 -5.217
我的问题是,如何将数据分组/转换成这样一种方式,即使用(Z,a)作为索引的多重索引(或多重索引),同时考虑到数据不是唯一的?为了明确我的目标,我希望实现以下目标:
^{pr2}$我知道这至少包括两个步骤,一个是唯一性步骤,另一个是Z索引步骤,所以请在其中一个步骤中提供任何帮助,还有,有没有某种数据结构更适合这个问题?在
编辑:我发现这一行:
data=data.set_index(('Z','A'))
解决了Z,A中的索引问题。不幸的是,这只在(Z,A)对是唯一的情况下才有效。在
我有一个公开的问题要解决这些问题:
https://github.com/pydata/pandas/issues/388
这里有一个解决方案。首先用一个简单的(不是很有效的)函数来得到群序数:
即
^{pr2}$现在将其用作辅助索引变量并取消堆叠:
最后一次咀嚼,完全像你展示的那样:
相关问题 更多 >
编程相关推荐