【发布时间】:2017-06-23 06:05:27
【问题描述】:
我有一个包含 35 列的 DataFrame,我想创建一个包含 6 个列的新 DataFrame。相关列分布在整个 DataFrame 的各个位置。最 Pythonic 的方法是什么?
【问题讨论】:
标签: python python-2.7 pandas dataframe
我有一个包含 35 列的 DataFrame,我想创建一个包含 6 个列的新 DataFrame。相关列分布在整个 DataFrame 的各个位置。最 Pythonic 的方法是什么?
【问题讨论】:
标签: python python-2.7 pandas dataframe
假设您有一个包含多个列的dataframe:
df = pd.DataFrame({'col1':[1,2,3], 'col2':[4,5,6],'col3':[7,8,9],
'col4':[1,2,3],'col5':[1,2,3],'col6':[1,2,3],
'col7':[1,2,3],'col8':[1,2,3],'col9':[1,2,3],
'col91':[1,2,3]})
print(df)
输出:
col1 col2 col3 col4 col5 col6 col7 col8 col9 col91
0 1 4 7 1 1 1 1 1 1 1
1 2 5 8 2 2 2 2 2 2 2
2 3 6 9 3 3 3 3 3 3 3
现在要使用选定的列创建新的dataframe,您只需将列的名称列表传递给选定的['col1', 'col2', 'col5']:
tmp_df = df[['col1', 'col2', 'col5']]
print(tmp_df)
输出:
col1 col2 col5
0 1 4 1
1 2 5 2
2 3 6 3
更多内容可以参考my other answer
【讨论】:
tmp_df = df[[0,1,4]],在这种情况下,结果与tmp_df = df[['col1', 'col2', 'col5']] 相同。
Happy Coding.