gpt4 book ai didi

python - Pandas DataFrame.hist Seaborn 等价物

转载 作者:行者123 更新时间:2023-12-04 00:57:38 34 4
gpt4 key购买 nike

在探索一个我经常使用 Pandas 的 DataFrame.hist() 方法来快速显示数据框中每个数字列的直方图网格,例如:

import matplotlib.pyplot as plt
import pandas as pd
from sklearn import datasets


data = datasets.load_iris()
df = pd.DataFrame(data.data, columns=data.feature_names)

df.hist(bins=50, figsize=(10,7))
plt.show()

这会为每列生成一个带有单独图的图形: Which produces a figure with separate plots for each column

我尝试了以下方法:

import pandas as pd
import seaborn as sns
from sklearn import datasets


data = datasets.load_iris()
df = pd.DataFrame(data.data, columns=data.feature_names)

for col_id in df.columns:
sns.distplot(df[col_id])

但这会产生一个带有单个图并且所有列都覆盖的图形: But this produces a figure with a single plot and all columns overlayed

有没有办法使用 Seaborn 生成直方图网格,显示来自 DataFrame 列的数据?

最佳答案

如果您使用 melt 重新组织数据框,则可以利用 seaborn 的 FacetGrid。 Seaborn 通常期望以这种方式组织数据(长格式)。

g = sns.FacetGrid(df.melt(), col='variable', col_wrap=2)
g.map(plt.hist, 'value')

enter image description here

关于python - Pandas DataFrame.hist Seaborn 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61114217/

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