[英]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.