簡體   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