gpt4 book ai didi

python - Pandas 中的列直方图

转载 作者:太空宇宙 更新时间:2023-11-04 06:00:13 24 4
gpt4 key购买 nike

假设我有一个如下所示的数据框:

     A B C D
s1 1 2 4 2
s2 2 1 4 3
s3 1 4 1 3

我想要一个条形图,显示每列值的直方图。即,显示在 x 轴上彼此相邻的每列直方图的条形图,直方图(列)之间有间距。换句话说,这将是一个二级条形图,其中对于数据框中的每一列,我们都有代表该列直方图的条形。

如果重要的话,我们可以假设每列的可能值的数量是已知的并且对于每一列都是常量(例如范围 [0,5])

当我尝试这样做时:

df.plot(kind='bar')

我得到的东西与我想要的完全不同(x 刻度对应于行,而不是 [列:[value0, value1, valueN])。最接近我想要的“精神上”是:

df.plot(kind='density')

但我正在寻找每列类似直方图的描述,而不是 PDF 的叠加。

更新

希望示例有所帮助。我正在寻找类似下面这个图的东西,( code here ) 但不是每组显示两个分数,而是显示数据框中每列值的直方图:

enter image description here

最佳答案

此演示文稿不会重新缩放,它会水平平移各个直方图以使它们不重叠,然后使用列名称(中值)而不是表示缩放来标记 X 轴。

from pandas import DataFrame
from numpy.random import randn
sample = 1000
df = DataFrame(randn(sample, 8))
accum1 = 0
accum2 = 0
spacer = 1
MyTics = []
for colname in df.columns:
TransformedValues = df[colname] - accum1 + accum2
MyTics.extend([TransformedValues.median()])
axs = (TransformedValues).hist()
accum1 += df[colname].min()
accum2 += df[colname].max() + spacer
axs.set_xticks(MyTics)
axs.set_xticklabels(df.columns)

Resulting multi-historgram picture

关于python - Pandas 中的列直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25447208/

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