gpt4 book ai didi

python-3.x - 绘制所有列的直方图

转载 作者:行者123 更新时间:2023-12-02 03:24:58 26 4
gpt4 key购买 nike

我有一个包含多列的数据。

Country    Weight    # of food/day  ....
---------------------------------------------
USA 180 4
China 190 12
USA 150 2
Canada 300 10

我想为每一列创建(单独的)直方图,以便 histogram_1 显示“国家/地区”的分布,histogram_2 显示“重量”的分布等。

我目前正在使用 panda 上传和操作数据。

这样做的简单方法是这样做吗?

for column in df:
plt.hist(column)
plt.show()

如果我的想法听起来很愚蠢,请原谅我。

任何帮助将不胜感激,谢谢!

最佳答案

为非数字或离散值定义直方图并不明确。通常的问题是“每种独特类型有多少个项目?”。这可以通过 .value_counts 来实现。既然你说“直方图# == 列数(特征)”,我们可能会为每列创建一个子图。

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({"Countries" : ["USA", "Mexico", "Canada", "USA", "Mexico"],
"Weight" : [180, 120, 100, 120, 130],
"Food" : [2,2,2,4,2]})

fig, axes = plt.subplots(ncols=len(df.columns), figsize=(10,5))
for col, ax in zip(df, axes):
df[col].value_counts().sort_index().plot.bar(ax=ax, title=col)

plt.tight_layout()
plt.show()

enter image description here

关于python-3.x - 绘制所有列的直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53646710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com