簡體   English   中英

在 pandas dataframe 中使用 str.extract 創建多索引

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM