在python中创建列和的条形图/饼图

2024-04-19 22:20:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个熊猫数据框,看起来像这样,带有年龄括号:

new_id                            18-24  25-34  35-44  45-54  55-64  65-74  75-84  85-89  89+
001722E206AD9FB2F1F92C5FD8596DB0    0      1      0      0      0      0      0      0     0
003C2920AB9521CA6D1CDDDBB85E4772    0      0      0      0      0      1      0      0     0
0066C5FD1F7FE804049C508C026F0E59    0      0      0      0      1      1      0      0     0
006B78D4236C00D2D8C8F31035B2A480    0      0      0      1      0      0      0      0     0
0077D1B650F50D8E32974C12C3765CF4    0      0      0      1      1      0      0      0     0
FFD6674A1F3B4FECC66E51E3789441A4    0      1      0      0      0      0      0      0     0
FFD9B3CB3B7FD6B8CAE595418918B178    0      1      0      0      0      0      0      0     0
FFDA6E8C77B3FD7ADA405ED9F5A88A86    0      0      0      0      1      1      0      0     0
FFE591AE9E3B1B9E69CBF0F035BDEEFE    0      1      1      0      0      0      0      0     0
FFE7FA11CE3E1540DE079B3768E9F7E0    0      1      0      0      0      0      0      0     0

我想做的是用一个条形图和/或python中的piechart对每列求和,并表示每个年龄段的总和。“新id”将被忽略。我只想创建一个年龄分布


Tags: 数据idnew括号条形图年龄piechart总和
1条回答
网友
1楼 · 发布于 2024-04-19 22:20:46

可以对列求和并创建条形图df[df.columns[1:]]将跳过new_id列:

from matplotlib import pyplot as plt
import pandas as pd
from io import StringIO

str = '''new_id                   18-24  25-34  35-44  45-54  55-64  65-74  75-84  85-89  89+
001722E206AD9FB2F1F92C5FD8596DB0    0      1      0      0      0      0      0      0     0
003C2920AB9521CA6D1CDDDBB85E4772    0      0      0      0      0      1      0      0     0
0066C5FD1F7FE804049C508C026F0E59    0      0      0      0      1      1      0      0     0
006B78D4236C00D2D8C8F31035B2A480    0      0      0      1      0      0      0      0     0
0077D1B650F50D8E32974C12C3765CF4    0      0      0      1      1      0      0      0     0
FFD6674A1F3B4FECC66E51E3789441A4    0      1      0      0      0      0      0      0     0
FFD9B3CB3B7FD6B8CAE595418918B178    0      1      0      0      0      0      0      0     0
FFDA6E8C77B3FD7ADA405ED9F5A88A86    0      0      0      0      1      1      0      0     0
FFE591AE9E3B1B9E69CBF0F035BDEEFE    0      1      1      0      0      0      0      0     0
FFE7FA11CE3E1540DE079B3768E9F7E0    0      1      0      0      0      0      0      0     0'''
df = pd.read_csv(StringIO(str), delim_whitespace=True)
df[df.columns[1:]].sum().plot.bar(rot=0, color='DarkTurquoise')
plt.show()

example bar plot

对于饼图:df[df.columns[1:]].sum().plot.pie()

相关问题 更多 >