2
我有一個multiindex數據框。這些列看起來像:重命名多列索引大熊貓列
Ex。 DF:
index date Text Text Text Text Text
OtherText OtherText1 OtherText1 OtherText1 OtherText1 OtherText1
Col Col1 Col2 Col3 Col4 Col5
0 17-Jun-14 1 2 3 4 5
代碼來創建:
arrays = [['Date', 'Text', 'Text', 'Text', 'Text', 'Text'],
['', 'OtherText1', 'OtherText1', 'OtherText1', 'OtherText1', 'OtherText1'],
['', 'Col1', 'Col2', 'Col3', 'Col4', 'Col5']]
df = pd.DataFrame(randn(1,6), columns=arrays)
列名稱:
[('date', '', ''),
('text', 'somemoretext', 'Col1'),
('text', 'somemoretext', 'Col2'),
('text', 'somemoretext', 'Col3')...]
我期待或者重命名或交換第一列的水平。這並沒有產生錯誤,但也沒有改變列。
df.rename(columns={"('date', '', '')" : "('', '' 'date')"}, inplace=True)
如何重新排序和/或重命名多重索引中的特定列?
所需的輸出:
index Text Text Text Text Text
OtherText OtherText1 OtherText1 OtherText1 OtherText1 OtherText1
Col date Col1 Col2 Col3 Col4 Col5
0 17-Jun-14 1 2 3 4 5
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.swaplevel.html?highlight=swap%20level#pandas.DataFrame.swaplevel – Jeff
@Jeff這對於整個數據框很容易。你會如何將這個應用於單列? 'df [('date','','')]。swaplevel(0,2)'不起作用。 – DataSwede
你應該展示你是如何構建框架的,以及你正在嘗試做什麼的。該用法沒有任何意義。 – Jeff