gpt4 book ai didi

python - 如何直接在 Pandas DataFrame 中的 PDF 上计算统计指标?

转载 作者:行者123 更新时间:2023-12-04 08:57:05 28 4
gpt4 key购买 nike

假设我已经在 Pandas DataFrame 中有一个 PDF(概率密度函数)。

import pandas as pd
import numpy as np
from scipy import stats

df = pd.DataFrame([1,2,3,4,5,6,5,4,3,2], index=np.linspace(21,30,10), columns=['days'])
df.index.names=['temperature']
print(df)
days
temperature
21.0 1
22.0 2
23.0 3
24.0 4
25.0 5
26.0 6
27.0 5
28.0 4
29.0 3
30.0 2
如果我想计算偏度之类的指标,我必须像这样将 PDF 转换回原始数据:
temp_history = []
for i in df.iterrows():
temp_history += i[1][0] * [i[0]]

print(temp_history)
[21.0, 22.0, 22.0, 23.0, 23.0, 23.0, 24.0, 24.0, 24.0, 24.0, 25.0, 25.0, 25.0, 25.0, 25.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 27.0, 27.0, 27.0, 27.0, 27.0, 28.0, 28.0, 28.0, 28.0, 29.0, 29.0, 29.0, 30.0, 30.0]

skew = stats.skew(temp_history)
无论如何我可以计算指标而不必创建 temp_history ?谢谢!
编辑:我想避免以任何形式创建原始数据的原因是我不想仅仅在 days 中的数字时丢失大量内存。列变大。

最佳答案

用 -

df.reindex(df.index.repeat(df['days'])).reset_index()['temperature'].skew()

坚持您的原始实现 -
stats.skew(df.reindex(df.index.repeat(df['days'])).reset_index()['temperature'])
如果您想知道为什么输出不匹配,可以讨论 here
要匹配两者,请设置 bias=Falsestats.skew()

关于python - 如何直接在 Pandas DataFrame 中的 PDF 上计算统计指标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63768743/

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