如何解决如何根据多种条件更改熊猫数据框中的一个单元格?
我有一个庞大的数据框架,涵盖了30个国家的70年GDP增长。数据如下:
GDP Country Year
10 US 2000
10.2 US 2001
0 US 2002
10.2 US 2003
10.4 US 2004
10.4 US 2005
我已经进行了计算,想要用存储在名为0
的变量中的浮点数替换第三行中的us_2000
。
我尝试使用
df.loc[(df.Country == "US") & (df.Year == 2002),"GDP"] = us_2000
但是它不起作用,并且我收到以下警告消息:
C:\Users\graha\anaconda3\lib\site-packages\IPython\core\interactiveshell.py:3331: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
exec(code_obj,self.user_global_ns,self.user_ns)
数据是从API下载的,不幸的是,API使索引变得有些可怕,带有国家名称和日期时间。有没有一种方法可以根据其“国家/地区”和“年份”值重新分配一个值,而无需重置索引?
解决方法
尝试:
df.loc[(df.Country == "US") & (df.Year == 2002)]["GDP"] = us_2000
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。