Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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 为什么int64-float64列减法会产生NaN';s_Python_Pandas_Nan - Fatal编程技术网

Python 为什么int64-float64列减法会产生NaN';s

Python 为什么int64-float64列减法会产生NaN';s,python,pandas,nan,Python,Pandas,Nan,我被两列相减的结果弄糊涂了。当我减去两个float64和int64列时,它会产生几个NaN条目。为什么会这样?这种奇怪行为的原因可能是什么 最终Updae:正如N.Wouda指出的,我的问题是索引列不匹配 Y_predd.reset_index(drop=True,inplace=True) Y_train_2.reset_index(drop=True,inplace=True) 解决了我的问题 更新2:我的索引列似乎不匹配,这很有意义,因为它们都是从E中的相同数据中采样的。如何使用新的索引

我被两列相减的结果弄糊涂了。当我减去两个float64和int64列时,它会产生几个NaN条目。为什么会这样?这种奇怪行为的原因可能是什么

最终Updae:正如N.Wouda指出的,我的问题是索引列不匹配

Y_predd.reset_index(drop=True,inplace=True)
Y_train_2.reset_index(drop=True,inplace=True)
解决了我的问题

更新2:我的索引列似乎不匹配,这很有意义,因为它们都是从E中的相同数据中采样的。如何使用新的索引Colun“重新开始”

更新
Y\u predd-Y\u train\u 2。aType('float64')
也会生成NaN值。我不明白为什么这没有引起错误。它们大小一样。为什么会这样

In [48]: Y_predd.size
Out[48]: 182527

In [49]: Y_train_2.astype('float64').size
Out[49]: 182527
错误的原始文档:

In [38]: Y_train_2
Out[38]: 
66419     0
2319      0
114195    0
217532    0
131687    0
144024    0
94055     0
143479    0
143124    0
49910     0
109278    0
215905    1
127311    0
150365    0
117866    0
28702     0
168111    0
64625     0
207180    0
14555     0
179268    0
22021     1
120169    0
218769    0
259754    0
188296    1
63503     1
175104    0
218261    0
35453     0
         ..
112048    0
97294     0
68569     0
60333     0
184119    1
57632     0
153729    1
155353    0
114979    1
180634    0
42842     0
99979     0
243728    0
203679    0
244381    0
55646     0
35557     0
148977    0
164008    0
53227     1
219863    0
4625      0
155759    0
232463    0
167807    0
123638    0
230463    1
198219    0
128459    1
53911     0
Name: objective_for_classifier, dtype: int64

In [39]: Y_predd
Out[39]: 
0         0.00
1         0.48
2         0.04
3         0.00
4         0.48
5         0.58
6         0.00
7         0.00
8         0.02
9         0.06
10        0.22
11        0.32
12        0.12
13        0.26
14        0.18
15        0.18
16        0.28
17        0.30
18        0.52
19        0.32
20        0.38
21        0.00
22        0.02
23        0.00
24        0.22
25        0.64
26        0.30
27        0.76
28        0.10
29        0.42
          ... 
182497    0.60
182498    0.00
182499    0.06
182500    0.12
182501    0.00
182502    0.40
182503    0.70
182504    0.42
182505    0.54
182506    0.24
182507    0.56
182508    0.34
182509    0.10
182510    0.18
182511    0.06
182512    0.12
182513    0.00
182514    0.22
182515    0.08
182516    0.22
182517    0.00
182518    0.42
182519    0.02
182520    0.50
182521    0.00
182522    0.08
182523    0.16
182524    0.00
182525    0.32
182526    0.06
Name: prediction_method_used, dtype: float64

In [40]: Y_predd - Y_tr
Y_train_1  Y_train_2  

In [40]: Y_predd - Y_train_2
Out[41]: 
0          NaN
1          NaN
2         0.04
3          NaN
4         0.48
5          NaN
6         0.00
7         0.00
8          NaN
9          NaN
10         NaN
11        0.32
12       -0.88
13       -0.74
14        0.18
15         NaN
16         NaN
17         NaN
18         NaN
19        0.32
20        0.38
21        0.00
22        0.02
23        0.00
24        0.22
25         NaN
26        0.30
27         NaN
28        0.10
29        0.42
          ... 
260705     NaN
260706     NaN
260709     NaN
260710     NaN
260711     NaN
260713     NaN
260715     NaN
260716     NaN
260718     NaN
260721     NaN
260722     NaN
260723     NaN
260724     NaN
260725     NaN
260726     NaN
260727     NaN
260731     NaN
260735     NaN
260737     NaN
260738     NaN
260739     NaN
260740     NaN
260742     NaN
260743     NaN
260745     NaN
260748     NaN
260749     NaN
260750     NaN
260751     NaN
260752     NaN
dtype: float64

在此处发布,以便我们可以从评论中结束问题:


您确定每个数据帧具有相同的索引范围吗


您可以通过
df.reset\u index(drop=True)
重置两个帧上的索引,然后像之前一样减去帧。此过程应产生所需的输出。

是否尝试将int列强制转换为浮点型,并仅减去类似的数据类型?是否确定每个数据帧都具有相同的索引范围?@sobek yes这也会失败。@kilojoules有和用于删除索引。是否确定要删除索引?如果这些是自举重采样,并且您要从训练观察值中减去预测值,就像它看起来的那样,您希望对相同的观察值执行该操作。NaN可能会告诉你,你对观测的预测没有出现在你的重采样折叠中。