Pandas Multi Index из существующей строки индекса - PullRequest
0 голосов
/ 02 октября 2018

У меня есть фрейм данных, подобный этому:

 df = pd.DataFrame([[1,2,3,4,5,6], [7,8,9,10,11,12]],columns=["a123X","a123Y","a123Z","b123X", "b123Y", "b123Z"])
   a123X  a123Y  a123Z  b123X  b123Y  b123Z
0      1      2      3      4      5      6
1      7      8      9     10     11     12

, и я хочу сделать XYZ мультииндексом.В настоящее время я использую такую ​​работу:

df.columns = (df.columns.str[:-1] + "_" + df.columns.str[-1]).str.split("_", expand=True)
  a123       b123        
     X  Y  Z    X   Y   Z
0    1  2  3    4   5   6
1    7  8  9   10  11  12

Есть ли способ сделать это проще, всегда будет последняя буква, которая будет вторым уровнем в индексе.

1 Ответ

0 голосов
/ 02 октября 2018

Вернуть вложенные списки обратно:

df.columns = [df.columns.str[:-1],  df.columns.str[-1]]
print (df)

  a123       b123        
     X  Y  Z    X   Y   Z
0    1  2  3    4   5   6
1    7  8  9   10  11  12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...