[英]Create a new variable based on 4 other variables
我在 Python 中有一个名为df1的 dataframe ,其中我有 4 个名为 Ordering_1 的二分变量; Ordering_2、Ordering_3、Ordering_4 的真/假值。
我需要创建一个名为Clean的变量,它基于其他 4 个变量。 意思是,当 Ordering_1 == True 时,Clean == Ordering_1,当 Ordering_2==True 时,Clean == Ordering_2。 那么 Clean 将是 Ordering_1 中所有真实值的组合; Ordering_2、Ordering_3、Ordering_4。
我尝试了以下代码,但它不起作用: df1[Clean] = df1[Ordering_1] + df1[Ordering_1] + df1[Ordering_1] + df1[Ordering_1]
有人能帮我在 python 中如何做到这一点吗?
如果每行有多个True
的通用解决方案 - 通过DataFrame.filter
过滤列,然后使用DataFrame.dot
进行矩阵乘法:
df1 = df.filter(like='Ordering_')
df['Clean'] = df1.dot(df1.columns + ',').str.strip(',')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.