通过列表子集数据框

时间:2019-07-01 19:29:37

标签: python list dataframe subset

我使用get_dummies对数据框中的一列进行了虚拟化,但是又产生了400列。问题是我想对现在有700列以上要在操作

下运行的数据帧进行子集化
replace([np.inf, -np.inf], np.nan).dropna()

我尝试通过将get_dummies生成的新列存储在我初始化为col1的列表中来隔离它们。 当我尝试使用

子集df时
df = df[['var1','var2','var3',[col1] ]]

我收到一条错误消息,提示“ ValueError:设置具有序列的数组元素”

是否有一种方法可以对子实体进行子集化,而不必在子集化时将它们全部输入?

1 个答案:

答案 0 :(得分:0)

您可以使用星号将列表中的列表解压缩

否则,您会将列表作为子列表传递到列列表中。您当前的方法变为:

df[['var1','var2','var3',['sub1','sub2','sub3']]]

但是:

df = df[['var1','var2','var3',*col1]]

解压到

df[['var1','var2','var3','sub1','sub2','sub3']]