如何从 file.txt 在 matplotlib 中使用文本列与数字列构建图表?
How build a chart plot with a text column vs number column in matplotlib from a file.txt?
我是 python 的新手,现在我正尝试在 matplotlib 中从一个包含大量数据的文件中绘制图表,这些数据具有一个数字列和一个文本列,格式如下:
34 Louis Mathews Sullivan
58 Frederick Milton2
1 Mario Cruz Muñoz
我想要这样的情节
像这样:
考虑到这不是数据框,名称列给我一些问题。
你能帮助我并支持我吗?谢谢
让我们尝试将其读入数据框,拆分并绘制:
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')
你得到:
我是 python 的新手,现在我正尝试在 matplotlib 中从一个包含大量数据的文件中绘制图表,这些数据具有一个数字列和一个文本列,格式如下:
34 Louis Mathews Sullivan
58 Frederick Milton2
1 Mario Cruz Muñoz
我想要这样的情节
像这样:
考虑到这不是数据框,名称列给我一些问题。 你能帮助我并支持我吗?谢谢
让我们尝试将其读入数据框,拆分并绘制:
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')
你得到: