Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 错误:不支持的操作数类型为-:';str';和';str';_Python_Csv_Typeerror - Fatal编程技术网

Python 错误:不支持的操作数类型为-:';str';和';str';

Python 错误:不支持的操作数类型为-:';str';和';str';,python,csv,typeerror,Python,Csv,Typeerror,我想尝试使用Python做一个相关的双尾t测试。不幸的是,我一直遇到一个错误,我不知道如何解决它 这是我的数据 我有两个不同的CSV文件: 第一:可穿戴 right 0.960, 1.079, 1.019, 1.028, 1.086, 1.042, 0.860, 1.062, 1.020, 1.028, 1.088, 1.076, 0.988, 1.032, 1.139, 1.058, 1.015, 1.014, 1.203, 1.085, 0.948,

我想尝试使用Python做一个相关的双尾t测试。不幸的是,我一直遇到一个错误,我不知道如何解决它

这是我的数据

我有两个不同的CSV文件:

第一:可穿戴

right
0.960, 
1.079, 
1.019, 
1.028, 
1.086, 
1.042, 
0.860, 
1.062, 
1.020, 
1.028, 
1.088, 
1.076, 
0.988, 
1.032, 
1.139, 
1.058, 
1.015, 
1.014, 
1.203, 
1.085, 
0.948, 
1.019, 
1.125, 
1.037, 
1.012, 
1.008,  
1.036, 
1.028, 
0.970, 
1.072, 
1.076, 
0.969, 
0.995, 
1.059, 
0.995
第二:维康

right
1.010, 
1.076, 
1.057, 
1.026, 
1.036, 
0.858, 
0.984, 
1.024, 
0.966, 
1.102, 
1.079, 
1.046, 
0.936, 
0.991, 
1.217, 
1.177, 
1.010, 
1.054, 
1.324, 
1.144,
0.881, 
1.087, 
0.970, 
0.970, 
1.077, 
1.080, 
0.940, 
0.906, 
0.955, 
1.139, 
1.082, 
1.011, 
1.130, 
0.949, 
0.938
我的任务是做依赖性t检验。 我这样试过:

vicon_right = pd.read_csv("vicon_right.csv")
tragbar_right = pd.read_csv("wearable_right.csv")
tteste=stats.ttest_rel(tragbar_right['right'],vicon_right['right'])
但是我得到了一个错误:

TypeError:-:“str”和“str”的操作数类型不受支持


有人能帮我解决这个问题吗?谢谢。

问题是您的数据集结构不正确。进行以下更改:

  • 放在列标题
    右侧
    之后
  • 确保每个
    后面都有一个空格,因为空格指示熊猫移动到下一行。否则,它将创建一个具有NaN值的列
如果正确执行此操作,则值将自动读取为float64类型,并且您不必转换它们。您得到的错误是因为库进行了一些数值比较,如果输入是字符串,则显然无法进行这种比较

有关结构正确的
Vicon.csv
示例,请参见下文

right, 
1.010, 
1.076, 
1.057, 
1.026, 
1.036, 
0.858, 
0.984, 
1.024, 
0.966, 
1.102, 
1.079, 
1.046, 
0.936, 
0.991, 
1.217, 
1.177, 
1.010, 
1.054, 
1.324, 
1.144, 
0.881, 
1.087, 
0.970, 
0.970, 
1.077, 
1.080, 
0.940, 
0.906, 
0.955, 
1.139, 
1.082, 
1.011, 
1.130, 
0.949, 
0.938, 
当我们打印它时,我们可以看到数据类型是float64。最初,如果您使用命令
vicon_data['right']
打印它,您将看到数据类型是
object

0     1.010
1     1.076
2     1.057
3     1.026
4     1.036
5     0.858
6     0.984
7     1.024
8     0.966
9     1.102
10    1.079
11    1.046
12    0.936
13    0.991
14    1.217
15    1.177
16    1.010
17    1.054
18    1.324
19    1.144
20    0.881
21    1.087
22    0.970
23    0.970
24    1.077
25    1.080
26    0.940
27    0.906
28    0.955
29    1.139
30    1.082
31    1.011
32    1.130
33    0.949
34    0.938
Name: right, dtype: float64

您的数据从未被解析为数字。此外,在请求帮助时,您还应包括完整的回溯。这使得我们更容易关注错误的来源from@rdas你是说错误就来自于此?如何实现这一点?
Traceback(最近一次调用last):文件“”,第43行,在tteste=stats.ttest\u rel(可穿戴右['right'],维康右['right'])文件“C:\Users\nadin\Anaconda3\lib\site packages\scipy\stats\stats.py”,第4661行,在ttest\u rel d=(a-b)中。astype(np.float64)类型错误:不支持的操作数类型对于-:“str”和“str”
这非常有用。我试试看。非常感谢。