【发布时间】:2022-01-19 12:11:08
【问题描述】:
我有一个数据框 df1,似乎无法在每行的列中应用此函数。
import scipy.stats as stats
d = {'sample1':[2,3,1,0,5], 'sample2':[3,0,0,2,3], 'sample3':[0,0,0,3,4]}
df1 = pd.DataFrame(d)
# create new column containing p_value from kruskal test.
df1['p_val'] = df1.apply(lambda x: stats.kruskal(x.sample1, x.sample2, x.sample3), axis=1)
我不断得到:
TypeError: len() of unsized object
df1:
sample1 sample2 sample3
0 2 3 0
1 3 0 0
2 1 0 0
3 0 2 3
4 5 3 4
期望的输出(显然我做了 p_values):
sample1 sample2 sample3 P_val
0 2 3 0 0.07
1 3 0 0 0.2
2 1 0 0 0.001
3 0 2 3 0.5
4 5 3 4 0.02
【问题讨论】:
标签: python pandas statistics