错误:不支持 - 的操作数类型:“str”和“str”

时间:2021-03-21 16:36:41

标签: python csv typeerror

我想尝试使用 Python 进行相关的双尾 t 检验。不幸的是,我不断收到错误消息,我不知道如何解决。

这是我的数据。

我有两个不同的 CSV - 文件:

第一:可穿戴

    string jsonConfig = "Text from the google-services.json file you get from the database";
    AppOptions settings = AppOptions.LoadFromJsonConfig(jsonConfig);
    app = FirebaseApp.Create(settings);

    FirebaseDatabase database = FirebaseDatabase.GetInstance(app);

    // Gets the folder 'Users'
    database.GetReference("Users")
        // Gets the child called 'Bob' (whether it exists or not)
        .Child("Bob").GetValueAsync().ContinueWith(task =>
        {
            if (task.IsCompleted)
            {
                if (task.Result.GetRawJsonValue() == null)
                {
                    // 'Bob' doesn't exist
                }
                else
                {
                    // 'Bob' exists
                }
            }
        });

第二个:Vicon

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

我的任务是进行依赖 t 检验。 我是这样试的:

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

但后来我得到了错误:

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

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

1 个答案:

答案 0 :(得分:1)

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

  • 在列标题 , 后面放一个 right
  • 确保每个 , 后面都有一个空格,因为该空格表示大熊猫移动到下一行。否则,它将创建一个包含 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