我正在使用数据框来执行Python测试。
Group Count
B 21
B 13
A 25
A 75
A 11
B 15
只要它只适用于一个部分或类别,测试就可以了:
import pandas as pd
import scipy.stats as stats
valuespergroup = [col for col_name, col in df.groupby('Group')['Count']]
stats.ranksums(*valuespergroup)
现在,请考虑以下事项:
Category Group Count
S1 P 21
S1 P 13
S1 A 25
S1 A 75
S1 A 10
S1 P 10
S2 P 21
S2 P 14
S2 A 29
S2 A 95
S2 A 15
S2 P 18
我需要按类别处理,这意味着首先传递S1的数据,然后传递S2等。我尝试将类别放入groupby中,但它不起作用。该函数仅使用两个参数。
发布于 2018-09-20 10:23:29
似乎你需要 groupby
'Group','Category'
for x , y in df.groupby(['Group','Category'])['Count']:
print(x,y)
('A', 'S1') 2 25
3 75
4 10
Name: Count, dtype: int64
('A', 'S2') 8 29
9 95
10 15
Name: Count, dtype: int64
('P', 'S1') 0 21
1 13
5 10
Name: Count, dtype: int64
('P', 'S2') 6 21
7 14
11 18
Name: Count, dtype: int64
https://stackoverflow.com/questions/-100008866
复制相似问题