在条形图上以列显示多个值
Display multiple values in col on barplot
所以我的数据框有一列如下所示:
前10列远征['first_ascent_country']
0 New Zealand, USA, UK
1 UK
2 France
3 UK, Nepal
4 India
5 W Germany
6 Spain
7 W Germany
8 Japan, Nepal
9 Japan, Nepal
它给出了哪个国家最先登山的信息。我想在条形图中显示这些国家/地区以显示哪些国家/地区发现更多,但我明白了...如何使用逗号分隔国家/地区?
enter image description here
如何让多个国家的行分别显示在图表上?我一直在到处寻找,但我不知道如何让它发挥作用......
对不起,如果我的问题很愚蠢,但我对使用数据框还很陌生。
尝试:
df['peak_ascent_country'].str.split(', ').explode().value_counts().plot.barh()
plt.tight_layout()
plt.show()
一步一步:
>>> df['peak_ascent_country'].str.split(', ')
0 [New Zealand, USA, UK]
1 [UK]
2 [France]
3 [UK, Nepal]
4 [India]
5 [W Germany]
6 [Spain]
7 [W Germany]
8 [Japan, Nepal]
9 [Japan, Nepal]
Name: peak_ascent_country, dtype: object
>>> df['peak_ascent_country'].str.split(', ').explode().value_counts()
0 New Zealand
0 USA
0 UK
1 UK
2 France
3 UK
3 Nepal
4 India
5 W Germany
6 Spain
7 W Germany
8 Japan
8 Nepal
9 Japan
9 Nepal
Name: peak_ascent_country, dtype: object
>>> df['peak_ascent_country'].str.split(', ').explode().value_counts()
UK 3
Nepal 3
W Germany 2
Japan 2
New Zealand 1
USA 1
France 1
India 1
Spain 1
Name: peak_ascent_country, dtype: int64
所以我的数据框有一列如下所示:
前10列远征['first_ascent_country']
0 New Zealand, USA, UK
1 UK
2 France
3 UK, Nepal
4 India
5 W Germany
6 Spain
7 W Germany
8 Japan, Nepal
9 Japan, Nepal
它给出了哪个国家最先登山的信息。我想在条形图中显示这些国家/地区以显示哪些国家/地区发现更多,但我明白了...如何使用逗号分隔国家/地区? enter image description here
如何让多个国家的行分别显示在图表上?我一直在到处寻找,但我不知道如何让它发挥作用...... 对不起,如果我的问题很愚蠢,但我对使用数据框还很陌生。
尝试:
df['peak_ascent_country'].str.split(', ').explode().value_counts().plot.barh()
plt.tight_layout()
plt.show()
一步一步:
>>> df['peak_ascent_country'].str.split(', ')
0 [New Zealand, USA, UK]
1 [UK]
2 [France]
3 [UK, Nepal]
4 [India]
5 [W Germany]
6 [Spain]
7 [W Germany]
8 [Japan, Nepal]
9 [Japan, Nepal]
Name: peak_ascent_country, dtype: object
>>> df['peak_ascent_country'].str.split(', ').explode().value_counts()
0 New Zealand
0 USA
0 UK
1 UK
2 France
3 UK
3 Nepal
4 India
5 W Germany
6 Spain
7 W Germany
8 Japan
8 Nepal
9 Japan
9 Nepal
Name: peak_ascent_country, dtype: object
>>> df['peak_ascent_country'].str.split(', ').explode().value_counts()
UK 3
Nepal 3
W Germany 2
Japan 2
New Zealand 1
USA 1
France 1
India 1
Spain 1
Name: peak_ascent_country, dtype: int64