gpt4 book ai didi

Python pandas 更改数据框值

转载 作者:行者123 更新时间:2023-12-01 05:12:53 25 4
gpt4 key购买 nike

我正在查询如下数据框:

>>> df
A,B,C
1,1,200
1,1,433
1,1,67
1,1,23
1,2,330
1,2,356
1,2,56
1,3,30

如果我执行part_df = df[df['A'] == 1 & df['B'] == 2],我可以获得一个子数据帧

 >>> part_df
A, B, C
1, 2, 330
1, 2, 356
1, 2, 56

现在我想对part_df进行一些更改,例如:

part_df['C'] = 0

这些更改根本没有反射(reflect)在原始 df 中。我想这是因为 numpy 的数组机制,每次都会生成数据帧的新副本。我想知道如何在某些条件下查询数据框并对所选部分进行更改(如我提供的示例所示)并将值反射(reflect)回原始数据框?

最佳答案

你应该这样做:

In [28]:

df.loc[(df['A'] == 1) & (df['B'] == 2),'C']=0
df
Out[28]:
A B C
0 1 1 200
1 1 1 433
2 1 1 67
3 1 1 23
4 1 2 0
5 1 2 0
6 1 2 0
7 1 3 30

[8 rows x 3 columns]

您应该使用loc并在末尾的方括号中选择感兴趣的列“C”

关于Python pandas 更改数据框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23800080/

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