gpt4 book ai didi

python - 合并两个数据框并根据合并添加新列

转载 作者:行者123 更新时间:2023-11-28 20:55:29 24 4
gpt4 key购买 nike

我有两个数据框,它们是基于我的数据库的来源和一个 API 响应:

database_data=[
{
"id": 123,
"user_id": 555,
"_deleted": True
},
{
"id": 456,
"user_id": 555,
"_deleted": True
}]


api_data = [
{
"id": 123,
"user_id": 555,
"_deleted": True
},
{
"id": 789,
"user_id": 555,
"_deleted": True
}
]

基于这些数据,我想在 API 和数据库之间执行合并并应用规则:

  • 如果数据存在于数据库中但不存在于 API 响应中,我需要为仅存在于数据库中的行添加一列 df['_deleted'] = True;
  • 如果两边都存在数据,则对于满足此条件的所有行,列 df['_deleted'] 都应为 False。

我已经开始编写一些代码来执行合并,但我不知道如何添加这个条件列。

df_db = pd.DataFrame.from_dict(database_data)
df_api = pd.DataFrame.from_dict(api_data)
# df_api.merge(df_db ... ??)

有什么解决的建议吗?

最佳答案

使用 mergeindicator=True,然后您可以比较指标输出以获得您的列。

res = df_api.merge(df_db, how='left', indicator='indicator')
res['_deleted'] = res.pop('indicator') != "both"

_deleted id user_id
0 False 123 555
1 True 789 555

关于python - 合并两个数据框并根据合并添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56641354/

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