Python 使用pandas read_excel()转换数据类型

Python 使用pandas read_excel()转换数据类型,python,excel,pandas,Python,Excel,Pandas,我正在加载一些带有pandas.read\u excel()的excel文件,并将其转换为带有的numpy数组。 很快,我通过指定dtype=object解决了这个问题。但我还是很好奇是什么触发了这种反应 这是一个简化的版本。这是excel文件包含的内容: 然后我使用: import pandas as pd import numpy as np data = pd.read_excel('test_file2.xlsx', sheet_name='other').to_numpy() pr

我正在加载一些带有
pandas.read\u excel()
的excel文件,并将其转换为带有
的numpy数组。
很快,我通过指定
dtype=object
解决了这个问题。但我还是很好奇是什么触发了这种反应

这是一个简化的版本。这是excel文件包含的内容:

然后我使用:

import pandas as pd
import numpy as np

data = pd.read_excel('test_file2.xlsx', sheet_name='other').to_numpy()
print(data)
结果是一个字符串、一个整数和一个浮点

[['true']
 [0]
 [4.4]]
但是,如果excel中的两个数字都是如下所示的浮点数:

那么这就是结果:

[[True]
 [nan]
 [nan]]

有人能解释为什么在第二种情况下会出现这样的转换,基本上会导致数值丢失吗?

您使用的是什么版本的pandas和numpy?我无法用pandas 0.25.1和numpy 1.17.2复制此版本。我检查了是否有旧版本。Pandas是0.24.1,Numpy是1.16.1。更新:我更新了Numpy和Pandas的版本,并尝试了不同的IDE,但仍然得到相同的结果。