2017-08-06 63 views
0

我们在一段时间内存储在实时商店中的n个点(如22点)进行了测量。现在我们正在寻找对上述点趋势的一些理解。为了获得一个目标,我们将读数读入一个pandas DataFrame(python)中。在这个DataFrame内点是现在的列和行是相应的测量时间。Pandas DataFrame - 在for循环中添加列与另一种方法

我们希望通过为每个现有列插入“平均”和“标准”列来扩展数据框的平均值和标准偏差,这是一个特定的测量。这意味着每22个测量点有两个新的列。

现在的问题是,在迭代现有列的同时是否最好添加新的平均值和标准列,还是在操作或技巧中构建了另一个更有效的DataFrame?

我们的理解是,在for循环中更新DataFrame将是最差的做法。

感谢您的任何意见或建议。

+0

如果每个周期22分,1000个样品,你说你要22种手段或1000种手段? –

+0

如果你需要22点/列的方法和标准,你为什么要列?整个列中的平均值或标准偏差的值不会相同。在这种情况下,您可以创建一个存储此信息的新数据框。回到你的问题,试着看看数据框的'.apply()'方法。 –

+0

@JohnZwinck - 22意味着22标准,但在所有的行。因此,这意味着每点1000点的手段,这就是为什么我们想要用点数加点新的列的原因, –

回答

1

从评论,我想这是你在找什么 -

import pandas as pd 
import numpy as np 

df = pd.DataFrame(np.random.normal(size = (1000,22))) # created an example dataframe 
df.loc[:, 'means'] = df.mean(axis = 1) 
df.loc[:, 'std'] = df.mean(axis = 1)