[英]Creating multi-index using str.extract in pandas dataframe
我有一個 dataframe 列和行的名稱如下索引:
idx = ['CAN_agr', 'CAN_ser', 'USA_agr', 'USA_ser', 'MEX_agr', 'MEX_ser']
sample = pd.DataFrame(
[[1, 2, 3, 4, 5 ,6],
[7, 8, 9, 10, 11, 12],
[13, 14, 15, 16, 17, 18],
[19, 20, 21, 22, 23, 24],
[25, 26, 27, 28, 29, 30],
[31, 32, 33, 34, 35, 36]],
index = idx,
columns=idx
)
我想使用這些名稱來創建多索引,其中 level=0 將是國家/地區的名稱(即 CAN、USA、MEX),而 level=1 將具有每個國家/地區的行業類型(即 agr、ser)。 我想過使用 str.extract,但我不確定如何根據國家和行業類型分離標簽並將它們分配為多索引列和行。 誰能幫助我應該如何解決這個問題? 非常感謝!
在_
上split
索引和列,然后將它們分配回索引和列應該執行的操作:
sample.index = sample.index.str.split('_', expand=True)
sample.columns = sample.columns.str.split('_', expand=True)
sample
CAN USA MEX
agr ser agr ser agr ser
CAN agr 1 2 3 4 5 6
ser 7 8 9 10 11 12
USA agr 13 14 15 16 17 18
ser 19 20 21 22 23 24
MEX agr 25 26 27 28 29 30
ser 31 32 33 34 35 36
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.