首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫双面t检验

熊猫双面t检验
EN

Stack Overflow用户
提问于 2019-08-07 16:12:21
回答 1查看 344关注 0票数 1

如果我有这样的df:

代码语言:javascript
复制
        normalized_0  normalized_1  normalized_0   mean      std
Site                           
0           NaN      0.798262      1.456576       0.888687  0.118194
1      0.705540      0.885226           NaN       0.761488  0.047023
2      0.669539      1.002526      1.212976       0.826657  0.077940
3      0.829826      0.968180      0.988679       0.871290  0.032367

如何计算0,1,2对3的双边t检验?

我试了一下:

代码语言:javascript
复制
from scipy.stats import ttest_ind

df['ttest'] = ttest_ind(df, d.loc[3])

但这行不通..。我得到的错误是:

代码语言:javascript
复制
TypeError: unsupported operand type(s) for /: 'str' and 'int'

你怎么解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-07 18:00:30

我的答案可能完全错了,因为我只读过关于t-test的文章:)

我从您的问题中了解到的是,您有一个具有规范化值和它们的描述性统计信息的表(平均值,std)。

此表中的每个索引值都是分析的category,您希望比较类别[0, 1, 2][3]

我还假设您只需要标准化的值作为输入数组,而不需要平均值或std。

代码语言:javascript
复制
selected_data = df.copy()
selected_data = selected_data[['normalized_0', 'normalized_1', 'normalized_0.1']]
selected_data['ttest'] = [ttest_ind(a=selected_data.iloc[3, :].values, \
                                    b=selected_data.iloc[x, :].values, \
                                    nan_policy='omit') for x in np.arange(len(selected_data))]

df.join(selected_data['ttest'])
代码语言:javascript
复制
        normalized_0  normalized_1  normalized_0.1 mean      std       ttest 
Site                           
0           NaN      0.798262      1.456576       0.888687  0.118194  (-0.7826642930343911, 0.4909212050511221)
1      0.705540      0.885226           NaN       0.761488  0.047023  (1.4370158341444121, 0.24625840339538163)  
2      0.669539      1.002526      1.212976       0.826657  0.077940  (-0.19764518466194855, 0.8529602343240825)
3      0.829826      0.968180      0.988679       0.871290  0.032367  (0.0, 1.0)

ab参数是选定列的行值。

代码语言:javascript
复制
# values of third category for example
selected_data.iloc[3, :].values 
# array([0.829826, 0.96818 , 0.988679])

omit在计算测试时忽略nan值(默认情况下,nan_policy的参数设置为propagate,如果存在缺失值,则返回nan )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57398506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档