[英]how to calculate percentage variation between two values?
我有这个 dataframe 和每年的总人口数。
import pandas as pd
cases_df = pd.DataFrame(data=cases_list, columns=['Year', 'Population', 'Nation'])
cases_df.head(7)
Year Population Nation
0 2019 328239523 United States
1 2018 327167439 United States
2 2017 325719178 United States
3 2016 323127515 United States
4 2015 321418821 United States
5 2014 318857056 United States
6 2013 316128839 United States
我想通过计算两个值(2013 年和 2019 年)之间的百分比变化来计算从 2013 年到 2019 年人口增加了多少:
{[(328239523 - 316128839)/ 316128839] x 100 }
我怎样才能做到这一点? 非常感谢你!!
附言。 删除索引的一些建议? 0 1 2 3 4 5 6
我试过了
df1 = df.groupby(level='Population').pct_change()
print(df1)
但我得到错误,因为“人口”说那不是索引的名称
我会按照以下方式进行
import pandas as pd
df = pd.DataFrame({"year":[2015,2014,2013],"population":[321418821,318857056,316128839],"nation":["United States","United States","United States"]})
df = df.set_index("year")
df["percentage"] = df["population"] * 100 / df["population"][2013]
print(df)
output
population nation percentage
year
2015 321418821 United States 101.673363
2014 318857056 United States 100.863008
2013 316128839 United States 100.000000
请注意,为简洁起见,我使用了数据子集。 使用年份作为索引可以轻松获取 2013 年的人口值,百分比计算为(人口)* 100 /(2013 年人口)。
如何删除提到的索引:
df.set_index('Year',inplace=True)
现在 Year 将替换您的编号索引。
现在
使用cases_df.describe()
或cases_df.attribute_name.describe()
这更像是一个数学问题而不是编程问题。
我们将其称为两个值之间的百分比差异,因为人口可以双向变化(随时间增加或减少)。
现在,假设 2013 年我们有316128839
人,2019 年我们有328239523
人:
a = 316128839
b = 328239523
在我们 go 计算百分比之前,我们需要找出b
和a
之间的差异:
diff = b - a
现在我们有了,我们需要看看a
的diff
百分比是多少:
perc = (diff / a) * 100
还有你在a
和b
之间的百分比变化
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.