选择/排除熊猫中的列集

发布于 2021-01-29 18:22:46

我想基于列选择从现有数据框创建视图或数据框。

例如,我想df2从一个数据框创建一个数据框,该数据框df1包含其中的所有列(其中两个除外)。我尝试执行以下操作,但没有成功:

import numpy as np
import pandas as pd

# Create a dataframe with columns A,B,C and D
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))

# Try to create a second dataframe df2 from df with all columns except 'B' and D
my_cols = set(df.columns)
my_cols.remove('B').remove('D')

# This returns an error ("unhashable type: set")
df2 = df[my_cols]

我究竟做错了什么?也许更笼统地说,熊猫必须采用什么机制来支持从数据帧中挑选和 排除 任意列集?

关注者
0
被浏览
40
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以删除不需要的列,也可以选择所需的列

    # Using DataFrame.drop
    df.drop(df.columns[[1, 2]], axis=1, inplace=True)
    
    # drop by Name
    df1 = df1.drop(['B', 'C'], axis=1)
    
    # Select the ones you want
    df1 = df[['a','d']]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看