Python 3.x 替换操作在数据帧中不起作用
我正在尝试替换pandas数据帧df中ID235的Marks字段值。早些时候是65岁&我想换成75岁 所以我写了下面的代码Python 3.x 替换操作在数据帧中不起作用,python-3.x,Python 3.x,我正在尝试替换pandas数据帧df中ID235的Marks字段值。早些时候是65岁&我想换成75岁 所以我写了下面的代码 df.at['235', 'Marks'] = 75 df[df['id']=='235'].head() 在那之后,我试着看看这个替换是否有效。所以我写道 df.at['235', 'Marks'] 它给出的值是75 但是当我试图使用下面的代码查看id对应的列时 df.at['235', 'Marks'] = 75 df[df['id']=='235'].head
df.at['235', 'Marks'] = 75
df[df['id']=='235'].head()
在那之后,我试着看看这个替换是否有效。所以我写道
df.at['235', 'Marks']
它给出的值是75
但是当我试图使用下面的代码查看id对应的列时
df.at['235', 'Marks'] = 75
df[df['id']=='235'].head()
我在标记字段中看到旧值65。您能帮我更正一下吗?您可以尝试使用
df.loc
df.loc[df.ID == 235, 'Marks'] = 75
df.at
如果没有索引,则基本上基于行数工作。数据帧的主要索引是id
吗?如果没有对数据帧进行任何其他修改,那么使用df.at['235',…]将首先使用索引,而不是稍后在语句中引用的列“id”。数据帧中的默认索引是行号df.loc[df['id']='235','Marks']=
应该是您要查找的语句
例如,如果提供了正确的索引,您使用的模式应该有效:-
data = [['Alex',10],['Bob',12],['Clarke',13]]
df = pd.DataFrame(data,columns=['Name','Age'])
df.at[0, "Name"] = "lolname"
df.at[0, "Name"]
=> 'lolname'
df
=>
Name Age
0 lolname 10
1 Bob 12
2 Clarke 13