【问题标题】:Subsetting dataframe via a list通过列表子集数据框
【发布时间】:2019-11-12 10:46:03
【问题描述】:

我使用 get_dummies 对数据框中的一列进行了虚拟化处理,但这又产生了 400 列。问题是我想对现在有超过 700 列的数据框进行子集化,以便在操作下运行

replace([np.inf, -np.inf], np.nan).dropna()

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

对 df 进行子集化时
df = df[['var1','var2','var3',[col1] ]]

我收到一条错误消息,提示“ValueError: setting an array element with a sequence''

有没有一种方法可以在子集时不必全部输入新的虚拟对象?

【问题讨论】:

    标签: python list dataframe subset


    【解决方案1】:

    您可以使用星号来解压缩列选择中的列表

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

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

    但是:

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

    解压到

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

    【讨论】:

      猜你喜欢
      • 2022-01-22
      • 2017-07-21
      • 2016-07-02
      • 2016-05-14
      • 1970-01-01
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多