gpt4 book ai didi

pandas - 使用plotly+cufflinks时,如何对DataFrame中的多个直方图使用特定的bin列表?

转载 作者:行者123 更新时间:2023-12-02 06:38:11 25 4
gpt4 key购买 nike

使用 matplotlib 绘制直方图时,手动给出 bin 列表相对容易,如 here 所示。 .

一个简单的例子如下:

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.hist(np.random.randn(10000), bins=np.arange(-4, 4, 0.1))
ax.hist(0.2 * np.random.randn(10000), bins=np.arange(-4, 4, 0.1))
plt.show()

这也可以通过 pandas.DataFrame 等效地完成:

pd.DataFrame({
'firstHistogram': np.random.randn(10000),
'secondHistogram': 0.2 * np.random.randn(10000)
}).plot(kind='hist', bins=np.arange(-4, 4, 0.1))

更进一步,plotly 允许通过 cufflinks 模块直接连接到 pandas,该模块允许执行以下操作:

pd.DataFrame({
'firstHistogram': np.random.randn(10000),
'secondHistogram': 0.2 * np.random.randn(10000)
}).iplot(kind='hist', bins=100)

enter image description here

但这里有一个问题:cufflinks 提供的 iplot 方法似乎不接受 bins 列表。当像上面的示例中那样提供数字时,该数字将用于独立地对两个数据集进行分箱,这会导致不相等的分箱,并可能产生误导性结果(请参阅上图中的相等高度)。

虽然使用histnorm='密度'选项可以在一定程度上减轻这种影响,但人们可能希望查看每个箱的计数而不是密度。

有办法解决这个问题吗?

最佳答案

我为此添加了更新。您现在应该可以指定 bins=(start,end,size)

pd.DataFrame({
'firstHistogram': np.random.randn(10000),
'secondHistogram': 0.2 * np.random.randn(10000)}).iplot(kind='hist',bins=(-4,4,.08))

现在应该返回: Custom bins

关于pandas - 使用plotly+cufflinks时,如何对DataFrame中的多个直方图使用特定的bin列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45784591/

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