【问题标题】:Python Generate dummy in dataframe based on another variable(pandas)Python基于另一个变量(熊猫)在数据框中生成虚拟对象
【发布时间】:2021-12-19 10:55:01
【问题描述】:

我有很多变量的数据框。例如,我想根据第 1 列生成一个虚拟变量。如果第 1 列的观察值大于 0.25,则虚拟变量用 1 填充。如果第 1 列的观察值小于 0.25,则虚拟变量用 0 填充。有什么想法吗?非常感谢。

【问题讨论】:

    标签: python pandas dataframe dummy-variable


    【解决方案1】:

    IIUC 比较更大的值,例如 0.25,然后转换为整数以将 True/False 映射到 1/0

    df[1] = df[1].gt(0.25).astype(int)
    

    如果是第一列:

    df.iloc[:, 0] = df.iloc[:, 0].gt(0.25).astype(int)
    

    【讨论】:

    • 如何将此虚拟变量添加到我的数据框中?我使用了 'df[dummy]=df[1].gt(0.25).astype(int)' 但它没有用
    • @MarziehKarimi - 添加到答案,如果需要新列,请使用 df[1] = df.iloc[:, 0] = 这个 - df['dummy1'] =
    • 我使用了第一个代码,但我收到了这个错误:(':1: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame。尝试使用 .loc[row_indexer,col_indexer] = value 而不是')
    • @MarziehKarimi - 你能展示你的完整代码吗?之前的 5 行代码也会出错。
    • @MarziehKarimi - 我认为是edit
    猜你喜欢
    • 1970-01-01
    • 2015-09-30
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 2022-07-31
    • 2019-04-22
    • 2012-08-10
    相关资源
    最近更新 更多