另一種選擇是將其添加爲一個額外的列索引級別,使其成爲MultiIndex:
In [11]: df = pd.DataFrame(randn(2, 2), columns=['A', 'B'])
In [12]: df
Out[12]:
A B
0 -0.952928 -0.624646
1 -1.020950 -0.883333
In [13]: df.columns = pd.MultiIndex.from_tuples(zip(['AA', 'BB'], df.columns))
In [14]: df
Out[14]:
AA BB
A B
0 -0.952928 -0.624646
1 -1.020950 -0.883333
這有保持正確dtypes爲數據幀的利益,所以你仍然可以做你的數據框快速和正確的計算結果,並允許您通過新舊和列名訪問。
。
爲了完整起見,這裏的帝斯曼(刪除答案),使得它,前面已經提到的列一排,通常不是一個好主意:
In [21]: df_bad_idea = df.T.reset_index().T
In [22]: df_bad_idea
Out[22]:
0 1
index A B
0 -0.952928 -0.624646
1 -1.02095 -0.883333
注意,D型可能會改變(如果這些列名,而不是正確的價值觀),因爲在這種情況...所以要小心,如果你真的打算做這個的任何工作,因爲它可能會比較慢,甚至可能會失敗:
In [23]: df.sum()
Out[23]:
A -1.973878
B -1.507979
dtype: float64
In [24]: df_bad_idea.sum() # doh!
Out[24]: Series([], dtype: float64)
如果列名是 a實際上一行被誤認爲是標題行,那麼你應該在數據(例如,)中讀取。 read_csv
使用header=None
)。
重新設置表格,您可以複製並粘貼文本repr,然後確保突出顯示並按CTRL + K/indent 4個空格(將其放入代碼格式)。 –
什麼是s3_text_adapter,你如何使用它?它*應該*有一個標題=無選項... –
http://docs.continuum.io/iopro/TextAdapter.html – horatio1701d