python - 计算for循环中生成的数据帧中数据之间的标准偏差
问题描述
我有一个循环生成相同大小的数据帧(96x96 甚至是,将这些数据帧叠加在一起,然后将结果除以迭代次数(计数)。这提供了一个平均值。现在我需要计算 stdev 之间那些生成的数据帧。一个循环可能会生成多达 365 个 DF。我知道,我需要稍微重新制定逻辑,因为要计算 stdev,需要所有数据帧的所有数字。
点他的最好方法是什么?我正在考虑使用 MultiIndex,但由于我是 Python 新手,所以我无法理解这一点。
因此,这是一个简单的示例代码:
import pandas as pd
import numpy as np
zero_data = np.zeros(shape=(5,5))
df = pd.DataFrame(zero_data, columns=[0,1,2,3,4])
for i in range(1,5):
df1 = pd.DataFrame(np.random.randint(0,100,size=(5, 5)), columns=[0,1,2,3,4])
zero_data = zero_data + df1
print(zero_data)
在此代码中,创建了 5 个数据框并将它们叠加在一起。我如何计算这 5 个数据帧的标准差?
解决方案
好的,我没有做'zero_data = zero_data + df1',而是使用pd.concat([df1+df2]),然后我使用reset_index( ) 并传递给group_by(by='index'),然后我应用 mean, std管他呢:
for i in range(0,5):
df1 = pd.DataFrame(np.random.randint(0,100,size=(5, 5)), columns=[0,1,2,3,4])
df = pd.concat([df, df1])
df.reset_index().groupby(by='index').sum()
结果比我想象的要容易:)
推荐阅读
- r - 动态改变 as.POSIXlt 值
- r - R在while循环中生成NA_real向量,但在单独运行代码行时不生成,如何修复循环?
- c# - 用C#运行cmd.exe,需要输入“Y”
- jquery - 服务器端处理后如何将样式放在数据列表中?
- .net-core - 对步长大于 1 的数组进行并行迭代
- python - python - Django ORM 使用过滤的子模型检索父模型
- python - 无法在 Anaconda 中导入模块
- scala - Scala递归覆盖DF中的列类型
- php - 如何在在线 Web 服务器中将 php/html 页面相互链接?加上mysqli的问题
- excel - 如何在列中查找所有重复项,然后实现重复项中所有信息的“历史列”?