【问题标题】:New column based on values in a row基于行中值的新列
【发布时间】:2023-02-09 20:53:13
【问题描述】:

我想根据一行中是否存在 1 到 5 之间的值来创建一个新列。

这是我的 df:

如果一行中的任何值介于 0 和 5 之间,我希望新列返回“是”。 在这种情况下,它只是带有 3.0 的行。

我试过类似的东西:

cols=[col for col in df.columns if 'date_' in col]

df['new_col']=df[cols].apply(lambda x: "Yes" if 0<=x[cols]<=5 else "No",axis=0)

但我收到此错误:

KeyError: "None of [Index(['date_0', 'date_1', 'date_2', 'date_3', 'date_4', 'date_5', 'date_6',\n       'date_7', 'date_8', 'date_9', 'date_10', 'date_11', 'date_12',\n       'date_13', 'date_14', 'date_15', 'date_16', 'date_17', 'date_18',\n       'date_19', 'date_20', 'date_21', 'date_22', 'date_23', 'date_24',\n       'date_25', 'date_26', 'date_27', 'date_28', 'date_29', 'date_30',\n       'date_31', 'date_32', 'date_33', 'date_34', 'date_35', 'date_36',\n       'date_37', 'date_38', 'date_39', 'date_40', 'date_41', 'date_42',\n       'date_43', 'date_44', 'date_45', 'date_46', 'date_47', 'date_48',\n       'date_49', 'date_50', 'date_51', 'date_52', 'date_53', 'date_54',\n       'date_55', 'date_56', 'date_57', 'date_58', 'date_59', 'date_60',\n       'date_61', 'date_62', 'date_63', 'date_64', 'date_65', 'date_66',\n       'date_67', 'date_68', 'date_69', 'date_70', 'date_71', 'date_72',\n       'date_73', 'date_74', 'date_75', 'date_76', 'date_77', 'date_78'],\n      dtype='object')] are in the [index]"

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    使用:

    print (df)
       date_1  date_2
    0       9      -3
    1       3       9
    2      -7      -1
    3       4       0
    
    df1 = df.filter(like='date_')
    df['new_col'] = np.where((df1.ge(0) & df1.le(5)).any(axis=1), "Yes", "No")
    print (df)
       date_1  date_2 new_col
    0       9      -3      No
    1       3       9     Yes
    2      -7      -1      No
    3       4       0     Yes
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多