gpt4 book ai didi

如果 ID 存在于其他数据框中,则 Python Pandas 数据框在新列中添加 "1"

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:22 25 4
gpt4 key购买 nike

我有两个数据框,其中包含客户 ID(标记为“C_ID”)和一年的访问次数。

我想在 2010 年的数据框中添加一列,如果客户也在 2009 年购物。所以我需要创建一个循环来检查 2010 年的 C_ID 在 2009 年是否存在,添加 1,否则添加 0。

我使用了这段代码但没有工作:(没有错误消息,没有任何反应)

for row in df_2010.iterrows():
#check if C_ID exists in the other dataframe
check = df_2009[(df_2009['C_ID'] == row['C_ID'])]

if check.empty:
#ID not exist in 2009 file, add 0 in new column
row['shopped2009'] = 0

else:
#ID exists in 2009 file, add 1 into same column
row['shopped2009'] = 1

最佳答案

你可以使用 dataframe.isin()

% timeit df_2010['new'] = np.where(df_2010['C_ID'].isin(df_2009['C_ID']), 1, 0)

三者之最:每个循环 384 微秒

正如@Kris 所建议的

%timeit df_2010['new'] = (df_2010['C_ID'].isin(df_2009['C_ID'])).astype(int)

三者之最:每个循环 584 微秒

或者

df_2010['new'] = df_2010['C_ID'].isin(df_2009['C_ID'])

关于如果 ID 存在于其他数据框中,则 Python Pandas 数据框在新列中添加 "1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42076821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com