如何找到每行中包含列表的 pandas 数据框列的标准偏差?
how to find standard deviation of pandas dataframe column containg list in every row?
我有一个 pandas 数据框
dd1=
A B C D E F Result
10 18 13 11 9 25 []
6 32 27 3 18 28 [6,32]
4 6 3 29 2 23 [29,35,87]
现在我想通过将 C 列值与结果列的第一个值相加,然后将结果列的第二个值与 C 列值相加,依此类推来找到结果列的 std。我想添加 std 的结果并存储在另一列。
我想像这样将值传递给 std 函数
for 1st row :- it will pass because it is empty.
for 2nd row :- std([6,27])=14.84,std([32,27])=3.53
找到 std 后只需添加该值并存储在输出列中,如 (14.84 + 3.53)=18.37
for 3rd row :- std([29,3])=18.38,std([35,3])=22.62,std([87,3])=59.39
输出如下:- dd1=
A B C D E F Result output
10 18 13 11 9 25 [] []
6 32 27 3 18 28 [6,32] 18.37
4 6 3 29 2 23 [29,35,87] 100.39
尝试使用 lambda
和 apply
:
l = lambda x: sum([np.std([x['C'], i], ddof=1) for i in x['Result']])
dd1['output'] = dd1.apply(l, 1)
我有一个 pandas 数据框
dd1=
A B C D E F Result
10 18 13 11 9 25 []
6 32 27 3 18 28 [6,32]
4 6 3 29 2 23 [29,35,87]
现在我想通过将 C 列值与结果列的第一个值相加,然后将结果列的第二个值与 C 列值相加,依此类推来找到结果列的 std。我想添加 std 的结果并存储在另一列。
我想像这样将值传递给 std 函数
for 1st row :- it will pass because it is empty.
for 2nd row :- std([6,27])=14.84,std([32,27])=3.53
找到 std 后只需添加该值并存储在输出列中,如 (14.84 + 3.53)=18.37
for 3rd row :- std([29,3])=18.38,std([35,3])=22.62,std([87,3])=59.39
输出如下:- dd1=
A B C D E F Result output
10 18 13 11 9 25 [] []
6 32 27 3 18 28 [6,32] 18.37
4 6 3 29 2 23 [29,35,87] 100.39
尝试使用 lambda
和 apply
:
l = lambda x: sum([np.std([x['C'], i], ddof=1) for i in x['Result']])
dd1['output'] = dd1.apply(l, 1)