熊猫计算具有列表而不是单个值的列的平均值

Clo*_*ave 5 python numpy dataframe pandas

我有一个 Pandas 数据框,它有一列,每一行都有一个值列表。我需要使用每一行的相应值来计算平均值。那就是我需要列表中八个值的平均值。列表中的每个元素都是一个变量的值

>>> df_ex
0    [1, 2, 3, 4, 5, 6, 7, 8]
1    [2, 3, 4, 5, 6, 7, 8, 1]
Run Code Online (Sandbox Code Playgroud)

我尝试将其转换为 numpy 数组,然后采取措施,但我不断收到错误消息TypeError: unsupported operand type(s) for /: 'list' and 'int'。我知道我应该将其转换为列而不是使用列表,但在我的上下文中这是不可能的。关于我如何做到这一点的任何想法?

jez*_*ael 5

您可以先转换为嵌套列表,然后转换为array,然后计算mean

a = np.array(df_ex.tolist())
print (a)
[[1 2 3 4 5 6 7 8]
 [2 3 4 5 6 7 8 1]]
 
# Mean of all values
print (a.mean())
4.5

# Specify row-wise mean
print (a.mean(axis=1))
[ 4.5  4.5]

# Specify column-wise mean
print (a.mean(axis=0))
[ 1.5  2.5  3.5  4.5  5.5  6.5  7.5  4.5]
Run Code Online (Sandbox Code Playgroud)