【问题标题】:How can I select several scattered columns in a DataFrame?如何在 DataFrame 中选择多个分散的列?
【发布时间】:2017-06-23 06:05:27
【问题描述】:

我有一个包含 35 列的 DataFrame,我想创建一个包含 6 个列的新 DataFrame。相关列分布在整个 DataFrame 的各个位置。最 Pythonic 的方法是什么?

【问题讨论】:

    标签: python python-2.7 pandas dataframe


    【解决方案1】:

    假设您有一个包含多个列的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

    【讨论】:

    • 这太棒了!是否也可以使用列的索引号来执行此操作?
    • @user1917407 当然,您可以使用tmp_df = df[[0,1,4]],在这种情况下,结果与tmp_df = df[['col1', 'col2', 'col5']] 相同。
    • @user1917407 np!我很高兴能帮上忙。 Happy Coding.
    猜你喜欢
    • 2017-05-06
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 2018-01-17
    相关资源
    最近更新 更多