簡體   English   中英

如何遍歷特定列中的行,找到一個值,如果找到該值,則將 count = 1 添加到另一列?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM