2016-11-16 63 views
1

我有一個有120列的熊貓數據框。列看起來是這樣的:如何用玩具名稱重新命名長熊貓數據框?

0_x  1_x  2_x  3_x  4_x  5_x  6_x  7_x  8_x  0_y  ...  65 ... 120 

我怎樣才能在一次運動中重命名它們?我閱讀文檔,發現大熊貓重命名列的方法是:

df.columns = ['col1', 'col2', 'col3'] 

的問題是,我寫120個多列的列表可能是非常奇怪的。這個問題有哪些替代方案?假設我想列出所有列,如:col1colN

回答

5

很容易的用一個列表理解和枚舉或範圍:

df.columns = ['col%s' % i for i in range(len(df.columns))] 
df.columns = ['col%s' % i for i, c in enumerate(df.columns)] 

我喜歡列舉,即使你是剛剛扔掉的列名。沒有確定的理由,我只是不喜歡func(func(something))的外觀,當我可以的時候避免它。

+1

您不必在枚舉中指定'c',而是可以使用'df.columns = ['cols%s'%i for i,__ in enumerate(df.columns)''向讀者發信號你扔掉變量。儘管個人喜好:http://stackoverflow.com/questions/5893163/what-is-the-purpose-of-the-single-underscore-variable-in-python – TheF1rstPancake

相關問題