[英]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.