python 如何使用带条件的循环创建新列并赋值

dkqlctbz  于 2023-03-28  发布在  Python
关注(0)|答案(1)|浏览(174)

我的问题是如何在我的新列中为我的唯一列表中的每个元素赋值1,这些元素将在我的dataframe中的列'ID'中找到。
我的unique_list首先被转换成字符串。

string_mb = ' '.join([str(item) for item in unique_list])

 df_dep_4['MB'] = pd.Series()

 for i, v in df_dep_4['ID_FINAL'].items():

     if string_mb in v:

         df_dep_4['MB'].loc[i] = v

我试过了,就像这里显示的那样,但无法将How to create new column using loop with condition

5jdjgkvh

5jdjgkvh1#

尝试使用apply -它与循环大致相同(在内部,它将在您的行上循环,但在pandas内部而不是显式地在外部)

string_mb = ' '.join([str(item) for item in unique_list])
df_dep_4['MB'] = df_dep_4['ID_FINAL'].apply(lambda x: 1 if x in string_mb else 0)

相关问题