[英]How do I iterate through rows in a specific column, find a value, and add a count = 1 to another column if it finds that value?
當前的:
df = {'Evaluation': ['Yes', 'No', 'No', 'Maybe'], 'Total': ['1', '1', '1', '1']
預期的:
df = {'Evaluation': ['Yes', 'No', 'No', 'Maybe'], 'Total': ['1', '0', '0', '1']
對於每次值“是”或“可能”出現在“評估”列中時,我想給“總計”列一個計數 = 1
我當前的代碼:
for k in df['Evaluation']:
if k == 'Yes' or k == 'Maybe:
df['Total'] = 1
但是這段代碼只是將“1”放在 Total 中的所有行中。
當您說df['Total']=1
。
如果您希望新列成為不同列中值的 function,最好像這樣使用.apply():
df["Total"] = df['Evaluation'].apply(lambda x: int(x in ("Yes","Maybe")) )
你應該試試這個:
df["Total"] = df["Evaluation"].apply(lambda x: 1 if if "Yes" in x or "Maybe" in x else 0)
df
如果您有要檢查list of values
,
df["Total"] = df["Evaluation"].apply(lambda x: 1 if x in ["Yes","Maybe"] else 0)
df
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.