在条形图上以 col 显示多个值
Posted
技术标签:
【中文标题】在条形图上以 col 显示多个值【英文标题】:Display multiple values in col on barplot 【发布时间】:2022-01-15 19:52:09 【问题描述】:所以我的数据框有一列如下所示:
列 expeditions['first_ascent_country'] 的前 10 行
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
如何使具有多个国家/地区的行分别显示在图表上?我一直在到处寻找,但不知道如何使它工作...... 抱歉,如果我的问题很愚蠢,但我对使用数据框还是很陌生。
【问题讨论】:
你能用peaks['first_ascent_country'].head(10)
的输出更新你的帖子吗
@Corralien 完成!
【参考方案1】:
试试:
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
【讨论】:
以上是关于在条形图上以 col 显示多个值的主要内容,如果未能解决你的问题,请参考以下文章