我有一个数据文件,看起来像这样:
values
[0.0,12.34,223.12,4.55,...]
[0.0,78.12,12.90,...]
.
.
. 我试图计算值列的平均值,并将其存储在新列中。
dataframe目前只容纳一个列,值列中每个数组的长度也不严格。
预期产出:
value average
[0.0,12.34,223.12,4.55,...] 77.87
[0.0,78.12,12.90,...] 12.11
.
.
. 当我试图使用iterrow()循环遍历dataframe时,Np.mean()将无法工作。
本质上,我需要展开下面的代码,以计算数据格式中的所有平均值:
np.mean(df_average_pace.paces[0])发布于 2018-11-30 15:34:40
你有一系列的名单。这意味着矢量化是不可能的。您可以通过pd.Series.map (或等效地说,apply)和statistics.mean使用Python级别的循环。
from statistics import mean
df['average'] = df['value'].map(mean)下面是一个演示:
from statistics import mean
df = pd.DataFrame({'value': [[1, 4, 1, 2], [2, 4, 6], [9, 2, 5]]})
df['average'] = df['value'].map(mean)
print(df)
value average
0 [1, 4, 1, 2] 2.000000
1 [2, 4, 6] 4.000000
2 [9, 2, 5] 5.333333发布于 2018-11-30 15:37:51
使用
pd.DataFrame(df.value.tolist()).mean(1)
Out[541]:
0 2.000000
1 4.000000
2 5.333333
dtype: float64https://stackoverflow.com/questions/53560471
复制相似问题