行值在以下迭代中不会更改:
>>> df
species population
panda bear 1864
polar bear 22000
koala marsupial 80000
>>> for i, r in df.iterrows():
... r['population']=r['population']*2
...
>>> df
species population
panda bear 1864
polar bear 22000
koala marsupial 80000
有人能告诉我如何在上面的迭代中持久化更改的值吗?
1条答案
按热度按时间nszi6y051#
这是因为
iterrows
返回的副本与原始文件(df
)"断开连接"。杰夫·里巴克:你应该永远不要修改你正在迭代的东西。
请改用
pandas.Series.mul
:输出: