gpt4 book ai didi

python - DataFrame.to_dict 为什么会在调用时返回不同的值?

转载 作者:行者123 更新时间:2023-11-28 18:25:45 26 4
gpt4 key购买 nike

我有一个 DataFrame,它似乎以下列方式出现异常(?):

>>> a=z.to_dict(orient='records')
>>> b=z.to_dict(orient='records')
>>> a1=json.dumps(a)
>>> b1=json.dumps(b)
>>> a1 == b1
True
>>> a == b
False # <<<===== WHAT?!!!
>>> for i in xrange(z.shape[0]):
print i, a[i] == b[i]
0 True
...
9 True
10 True
11 True
12 False
13 True
14 True
...
20 True
21 False
22 True
...
29 False
30 True
...
40 True
41 True
42 False
43 True
44 True
...
50 False
51 True
52 False
...

这是什么意思?!

最佳答案

@juanpa.arrivlllaga 做到了。在 float 据帧中,当单元格为 np.nan 时,np.nan == np.nan 的计算结果为 False

z = pd.DataFrame(np.random.randn(10, 10), columns=list('abcdefghij'))
z

enter image description here

a=z.to_dict(orient='records')
b=z.to_dict(orient='records')
a1=json.dumps(a)
b1=json.dumps(b)

a == b

True

a1 == b1

True

z.loc[5, 'd'] = np.nan
z

enter image description here

a=z.to_dict(orient='records')
b=z.to_dict(orient='records')
a1=json.dumps(a)
b1=json.dumps(b)

a == b

True

a1 == b1

False

关于python - DataFrame.to_dict 为什么会在调用时返回不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41559384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com