0

我是 python 的新手,现在我试图在 matplotlib 中从一个包含大量数据的文件中绘制图表,这些数据有一个数字列和一个文本列,格式如下:

34 Louis Mathews Sullivan
58 Frederick Milton2
 1 Mario Cruz Muñoz

我想有这样的情节

在此处输入图像描述

像这样:

在此处输入图像描述

考虑到这不是数据框,名称列给我带来了一些问题。你能帮助我并支持这件事吗?谢谢

4

1 回答 1

0

让我们尝试将其读取到数据框中,将其拆分并绘制:

df = pd.read_csv('path_to_file.csv', sep='\t', header=None)

df = df[0].str.extract('^([\d]+)\s+(.+)')
df.columns=['number', 'name']
df['number'] = df['number'].astype(float)
df.plot.bar(x='name', y='number')

输出(用于样本数据):

在此处输入图像描述

如果您想要单杠,请plot.barh改用:

df.plot.barh(x='name', y='number')

你得到:

在此处输入图像描述

于 2020-09-23T15:20:35.090 回答