gpt4 book ai didi

python - Pandas - 组合 df.loc 进行多项操作?

转载 作者:行者123 更新时间:2023-12-01 01:31:27 28 4
gpt4 key购买 nike

有没有一种方法可以执行一次 df.loc 查找,然后对行子集执行多个操作?

这就是动机。我有 2 个数据框,其中包含相同用户的数据。我正在循环 df_2.groupby('user_id') 然后查找其他数据帧以分配一些值:

for user, user_df in df_2.groupby('user_id'):
df_1.loc[df_1.user_id == user, 'value_1'] == user_df.value_1.mean()
df_1.loc[df_1.user_id == user, 'value_2'] == user_df.value_2.min()

我可以以某种方式组合这些来只执行一个 df.loc,但同时分配两个值吗?

最佳答案

您可以对齐索引,然后使用就地 pd.DataFrame.update :

df_1 = df_1.set_index('user_id')
df_1.update(df_2.groupby('user_id')[['value_1', 'value_2']].mean())

请注意,这也消除了对 Python 级 for 循环的需要。

关于python - Pandas - 组合 df.loc 进行多项操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52819672/

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