使用N / A

时间:2016-02-14 16:23:16

标签: python numpy pandas

我有两张数据表。每个表具有相同的尺寸245x10。可以找到原始文件here。我需要计算这两个表的t检验;但是,当我应用numpy函数时,我收到错误。

import scipy.stats as st
import numpy as np
import pandas as pd

df = pd.read_csv('GC Cerbellum final.txt', sep='\t')
df1 = df.ix[:, 1:12]
df2 = df.ix[:, 12:]
st.ttest_ind(df1, df2)
  

/usr/local/lib/python2.7/dist-packages/numpy/core/fromnumeric.pyc in   var(a,axis,dtype,out,ddof,keepdims)2936 2937 return   _methods._var(a,axis = axis,dtype = dtype,out = out,ddof = ddof,    - > 2938 keepdims = keepdims)

     

/usr/local/lib/python2.7/dist-packages/numpy/core/_methods.pyc in   _var(a,axis,dtype,out,ddof,keepdims)        93如果是实例(arrmean,mu.ndarray):        94 arrmean = um.true_divide(   ---> 95 arrmean,rcount,out = arrmean,cast =' unsafe',subok = False)        96其他:        97 arrmean = arrmean.dtype.type(arrmean / rcount)

     

TypeError:/:' str'不支持的操作数类型和' int'

我检查过,看起来所有数据都是整数,我不知道为什么它会在字符串上失败。也可能是因为缺少值以某种方式用字符串填充,它就会失败。

所以我的问题是如何在python中对缺少值的两个表执行t检验?

1 个答案:

答案 0 :(得分:1)

你的文件中有NA,但是pandas不知道如何解释它们。你可以像

一样阅读
df = pd.read_csv('GC Cerbellum final.txt', sep='\t', na_values=[' NA'])

和pandas将它们读作浮点列而不是字符串列,并适当地使用NaN。

(顺便说一下,你的切片看起来也不对。)