繁体   English   中英

如何从重复的索引值重新索引为多索引熊猫数据框

[英]How to re-index as multi-index pandas dataframe from index value that repeats

我在熊猫数据框中有一个重复索引值的索引。 我想将重复索引分组的多索引重新索引。

索引看起来像这样:

在此处输入图片说明

所以我希望所有的112335586索引值都归入相同的索引中。

我已经看过这个问题, 通过使用新的multiindex重复一行来创建pandas数据框,但是这里的值可以是index可以预先定义,但这是不可能的,因为我的数据框太大而无法对其进行硬编码。

我也查看了多索引文档,但这也预定义了索引的值。

我相信您需要:

s = pd.Series([1,2,3,4], index=[10,10,20,20])
s.index.name = 'EVENT_ID'
print (s)
EVENT_ID
10    1
10    2
20    3
20    4
dtype: int64

s1 = s.index.to_series()
s2 = s1.groupby(s1).cumcount()
s.index = [s.index, s2]
print (s)
EVENT_ID   
10        0    1
          1    2
20        0    3
          1    4
dtype: int64

尝试这个:

df.reset_index(inplace=True)
df['sub_idx'] = df.groupby('EVENT_ID').cumcount()
df.set_index(['EVENT_ID','sub_idx'], inplace=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM