pandas获取没有副本的列

时间:2018-02-26 03:19:18

标签: pandas

我有一个包含多列的数据框,我希望获得其中的一些,并删除其他内容,而不复制新的数据框

我想它应该是

df = df['col_a','col_b']

但我不确定是否复制了新的。有没有更好的方法呢?

2 个答案:

答案 0 :(得分:1)

除了一个小问题外,你的方法应该有效:

df = df['col_a','col_b']
应该是:

df = df[['col_a','col_b']]

因为您将子集df分配回df,所以它基本上等同于删除其他列。

如果您想删除其他列,可以执行以下操作:

df.drop(columns=df.columns.difference(['col_a','col_b']),inplace=True)

答案 1 :(得分:0)

如果这是你想要的,请告诉我。

你有一个包含多个列a,b,c,d和e的数据帧df。你想选择让我们说a和b并将它们存储回df中。为此,您可以:

      df=df[['a', 'b']]

输入数据帧df:

        a b c d e
        1 1 1 1 1
        3 2 3 1 4

当你这样做时:

      df=df[['a', 'b']]

输出将是:

     a b
     1 1
     3 2