gpt4 book ai didi

python - 将新计算合并回原始 pandas 数据框中

转载 作者:行者123 更新时间:2023-12-01 03:29:38 26 4
gpt4 key购买 nike

假设我有一个名为“df”的 Pandas 数据框,如下所示:

   X   Y  Z
0 -3 6 -7
1 -4 -10 -1
2 9 -10 -9
3 5 0 -8
4 -2 1 -8

我想用 df 中的一些行创建一个新框架:

new_df = df.loc[(df['X'] == -3) & (df['X'] == 9)] 

然后我修改新的数据框:

new_df.Y = 150

有没有一种简单的方法可以将新数据框插入旧框架中,仅替换我在新框架中修改的那些值?

所以最后,我会得到原来的“df”,它看起来像这样:

   X   Y  Z
0 -3 150 -7
1 -4 -10 -1
2 9 -150 -9
3 5 0 -8
4 -2 1 -8

最佳答案

如果想用条件替换值,可以一步完成,即指定行列条件并赋值,这样就可以避免将新数据框与原始数据框合并:

df.loc[(df['X'] == -3) | (df['X'] == 9), "Y"] = 150  
# I assume you mean or instead of and from your result

df
# X Y Z
#0 -3 150 -7
#1 -4 -10 -1
#2 9 150 -9
#3 5 0 -8
#4 -2 1 -8

只要不修改new_df的索引,就可以在修改new_df<后将new_df.Y重新赋值给df/:

df.loc[(df['X'] == -3) | (df['X'] == 9), "Y"] = new_df.Y 

或者甚至:

df.loc[(df['X'] == -3) | (df['X'] == 9)] = new_df

关于python - 将新计算合并回原始 pandas 数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41071446/

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