python dataframe某列数据要做成柱形图 自定义柱形图每个柱子的统计范围,每个柱子范围不一样
时间: 2023-12-10 09:42:30 浏览: 131
Python DataFrame一列拆成多列以及一行拆成多行
要自定义柱形图每个柱子的统计范围,可以使用 pandas 中的 `cut` 函数将数据列划分成不同的区间,然后使用 matplotlib 绘制柱形图。
以下是一个示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 创建示例数据
data = {
'value': [25, 30, 35, 40, 45, 50, 55, 60, 65],
'label': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
}
df = pd.DataFrame(data)
# 划分区间
bins = [20, 35, 50, 65]
labels = ['20-35', '35-50', '50-65']
df['range'] = pd.cut(df['value'], bins=bins, labels=labels)
# 统计每个范围的数量
counts = df['range'].value_counts()
# 绘制柱形图
plt.bar(x=counts.index, height=counts.values)
# 添加标签和标题
plt.xlabel('Range')
plt.ylabel('Count')
plt.title('Customized Bar Chart')
# 显示图形
plt.show()
```
这段代码将数据列 `value` 划分成了三个范围 `[20, 35), [35, 50), [50, 65]`,统计了每个范围的数量,并绘制了柱形图。你可以根据自己的需求修改数据和区间划分方式。
阅读全文