Python无法更改数据帧值

Python无法更改数据帧值,python,pandas,dataframe,data-analysis,Python,Pandas,Dataframe,Data Analysis,我正在查询一个数据帧,如下所示: >>> 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, 3

我正在查询一个数据帧,如下所示:

>>> 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

这些变化根本没有反映在原始df中。我猜是因为numpy的数组机制,每次都会产生一个新的数据帧副本。我想知道如何查询具有某些条件的数据帧,并按照我提供的示例对所选部分进行更改,并将值反映回原始数据帧

您应该这样做:

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”列

你问我问题了吗,我的收件箱中弹出了一些东西,但这篇文章没有显示任何内容anymore@EdChum是的,我有一个问题,但后来设法解决了。所以我删除了这个问题。无论如何谢谢你!