【问题标题】:Pandas - Filtering value by columns throws error (ValueError: Wrong number of items passed 3, placement implies 1)Pandas - 按列过滤值会引发错误(ValueError:传递的项目数量错误 3,位置意味着 1)
【发布时间】:2019-05-17 19:28:00
【问题描述】:

我有一个数据框,我正在尝试应用如下过滤器:

df['flag'] = df[df['aging'].str.contains('5 days')]

但它返回以下错误:

ValueError: Wrong number of items passed 3, placement implies 1

下面是我的 Dataframe 的样子

id,date,current_date,aging
101,2018-12-01,2018-12-05,-5 days +15:34:11.000000000
102,2018-12-02,2018-12-05,-4 days +21:15:28.000000000
103,2018-12-03,2018-12-05,-3 days +15:43:06.000000000
104,2018-12-04,2018-12-05,-2 days +01:21:24.000000000
105,2018-12-05,2018-12-05,-1 days +01:21:14.000000000

【问题讨论】:

    标签: pandas


    【解决方案1】:

    您可以在不创建新列的情况下过滤您的 df:

    print(df[df['aging'].str.contains('5 days')])
    

    如果你想创建一个新列,你可以这样做:

    df['Flag'] = df['aging'].str.contains('5 days')
    

    你的代码的问题是你同时过滤和创建一个新列。

    【讨论】:

      猜你喜欢
      • 2022-07-19
      • 2018-11-03
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 2020-10-30
      • 2021-08-10
      • 2020-07-02
      • 2021-07-13
      相关资源
      最近更新 更多