【问题标题】:Histogram with rolling window (Python)带有滚动窗口的直方图(Python)
【发布时间】:2021-12-03 23:16:48
【问题描述】:

我正在尝试为 DataFrame 中的每个滚动窗口创建一个直方图。 Python 中的滚动函数(df.WaveData.rolling(14).mean())可以用来计算总和或平均值,但是我们如何使用它来绘制每个窗口中数据的直方图呢?

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-10, 10, 1000)
y = np.sin(x)
plt.plot(x, y)
plt.show()


df = pd.DataFrame(y, columns=['WaveData'])
print(df)
print(df.WaveData.rolling(14).mean())

**Ideal**:
    for data in window:
        histogram(data_in_window)
        n, edges = np.histogram(data, bins=25)

【问题讨论】:

    标签: python matplotlib plot rolling-computation


    【解决方案1】:

    给你:

    import matplotlib.pyplot as plt 
    import pandas as pd
    
    # generate random dataframe
    df = pd.DataFrame(np.random.randint(0,1000,size=(1000, 4)), columns=list('ABCD'))
    
    window_size = 100
    for i in range(len(df.A.values)):
        window = df.A.values[i:i+window_size]
        n, bins, patches = plt.hist(window, 25)
        plt.show()
    

    【讨论】:

    猜你喜欢
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2018-01-20
    • 2020-07-12
    • 2020-08-14
    • 1970-01-01
    相关资源
    最近更新 更多