找到多个 Pandas 系列的平均值和标准差
finding the average and std across multiple Pandas series
我有一个对象列表(比方说 100 个),每个对象都包含一个 pandas 系列。所有系列数据都具有相同的长度(假设为 400)。我想计算平均值和系列数据,以便得到两个系列,与另一个系列 (400) 大小相同。
是否有实现此目的的捷径?
您需要通过 concat
and use DataFrame.agg
:
将它们连接在一起
s1 = pd.Series(range(3))
s2 = pd.Series([4,5,7])
s3 = pd.Series([7,5,2])
L = [s1, s2, s3]
df = pd.concat(L, axis=1).agg(['mean','std'], axis=1)
print (df)
mean std
0 3.666667 3.511885
1 3.666667 2.309401
2 3.666667 2.886751
print (df['mean'])
0 3.666667
1 3.666667
2 3.666667
Name: mean, dtype: float64
print (df['std'])
0 3.511885
1 2.309401
2 2.886751
Name: std, dtype: float64
我有一个对象列表(比方说 100 个),每个对象都包含一个 pandas 系列。所有系列数据都具有相同的长度(假设为 400)。我想计算平均值和系列数据,以便得到两个系列,与另一个系列 (400) 大小相同。
是否有实现此目的的捷径?
您需要通过 concat
and use DataFrame.agg
:
s1 = pd.Series(range(3))
s2 = pd.Series([4,5,7])
s3 = pd.Series([7,5,2])
L = [s1, s2, s3]
df = pd.concat(L, axis=1).agg(['mean','std'], axis=1)
print (df)
mean std
0 3.666667 3.511885
1 3.666667 2.309401
2 3.666667 2.886751
print (df['mean'])
0 3.666667
1 3.666667
2 3.666667
Name: mean, dtype: float64
print (df['std'])
0 3.511885
1 2.309401
2 2.886751
Name: std, dtype: float64