[英]How to plot this DataFrame easier in Pandas
這是我的數據幀:
我使用以下代碼在 Pandas 中繪制了我的 df:
Armenia = [100.0, 21.943089, 23.344123]
Moldova = [100.0, 25.468598, 25.856620]
Ukraine = [100.0, 45.253380, 26.266646]
Vietnam = [100.0, 491.680706, 1083.782579]
Oman = [100.0, 277.381353, 659.887243]
Bangladesh = [100, 280.025959, 609.648111]
df = pd.DataFrame({'Vietnam' : Vietnam, 'Ukraine' : Ukraine, 'Bangladesh' : Bangladesh, 'Oman' : Oman,'Armenia': Armenia,'Moldova': Moldova}, index = ['1990', '2005', '2017'])
ax = df.plot.line(rot=0)
plt.title('Top 3 best and worst countries in combatting CO2 emission above 5 mt CO2', fontsize=14)
plt.xlabel('years', fontsize=14)
plt.ylabel('relative amount of CO2 emitted in %', fontsize=12)
plt.grid(True)
輸出:
有沒有更簡單的方法來做到這一點? 因為寫入所有數據需要很多時間。
我真的很感激任何評論。 謝謝! :)
您的數據pd.melt
采用寬格式,因此我使用pd.melt
( docs ) 將其更改為長格式
我使用條形圖繪制了測量結果,因為我認為您可以像這樣更好地看到 CO2 排放的演變。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
dic = {'country' : ['Vietnam', 'Oman', 'Bangladesh', 'Ukraine', 'Moldova', 'Armenia'],
'base' : [100.0, 100.0, 100.0, 100.0, 100.0, 100.0],
'RA05' : [491, 277, 280, 45, 25, 21],
'RA17' : [1083, 659, 609, 26, 25, 23]
}
df = pd.DataFrame(dic)
df_melted = pd.melt(df, id_vars='country', value_name='Value', var_name='Measurement')
print(df_melted)
ax = sns.barplot(data=df_melted, x='country', y='Value', hue='Measurement')
ax.set(xlabel='Country', ylabel='Relative ammount of CO2 emitted in %', title='Top 3 best and worst countries in combatting CO2 emission above 5 mt CO2')
plt.show()
一旦我弄清楚如何用熊貓中的線圖繪制它,我將更新我的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.