0
A
回答
0
pd.Series
的数据类型或dtype
对其使用的实际方式几乎没有影响。
您可以有整数pd.Series
,并将dtype
设置为object
。你仍然可以用pd.Series
做同样的事情。
但是,如果您手动设置dtypes
的pd.Series
,则熊猫将开始在pd.Series
内投射条目。根据我的经验,这只会导致混淆。
不要试图在关系数据库中使用dtypes
作为字段类型。它们不是同一件事。
如果你想要有 s/None
s在pd.Series
混合,只需将dtype设置为object
。
设置的dtype
到float
会让你有int
小号float
陈述和NaN
S混合。但请记住,float
s为容易被unexact in their representation
与dtypes
一个常见的错误,我应该提到的是pd.merge
操作,这会悄悄地拒绝加入时使用的键有不同的dtypes
,例如int
VS object
即使object
只包含int
s。
其他解决方法
- 您可以使用
Series.fillna
method的东西不可能填补你的NaN
值。0
或-1
。 - 将
NaN
s复制到新列df['was_nan'] = pd.isnull(df['floatcol'])
,然后使用Series.fillna
method。这样你就不会丢失任何信息。 - 当调用
Series.astype()
方法时,请为其指定关键字参数raise_on_error=False
,如果失败,请使用当前的dtype
。因为dtypes
并不重要。
TLDR;
不要专注于'正确的dtype',dtypes很奇怪。专注于您想要列实际执行的操作。 dtype=object
很好。
相关问题
- 1. python,如何将熊猫系列转换为熊猫DataFrame?
- 2. 如何在熊猫中将所有int转换数据转换为int?
- 3. 将熊猫列转换为int时的类型错误
- 4. 无法将熊猫系列转换为int?正则表达式抛出错误?
- 5. 将熊猫系列转换为numpy阵列
- 6. 将熊猫列转换为字符串
- 7. 熊猫在添加列值后将所有数据转换为NaN
- 8. 在大熊猫中将列从对象转换为int并进行计数
- 9. 如何将熊猫系列转换为所需的JSON格式?
- 10. 如何将系列转换为熊猫数据框
- 11. 将熊猫系列输出转换为字符串
- 12. 将熊猫系列转换为可迭代的迭代
- 13. 转换一个熊猫系列串
- 14. 转换熊猫系列成整数
- 15. Python的熊猫:转换为2D列表列标题,而行值不为NaN
- 16. “转置”熊猫系列
- 17. python3熊猫 - #TypeError:不能将'int'对象隐式转换为str
- 18. 熊猫将int值转换为浮点数据框
- 19. 熊猫读取SQL到CSV - Int转换
- 20. 如何将熊猫列中的JSON数据转换为新列
- 21. 熊猫列日期转换
- 22. 转换列表熊猫DataFrame
- 23. 将NaN和字符串列表转换为int?
- 24. 转换熊猫系列的字符串转换日期时间
- 25. 将熊猫数据框行映射为熊猫系列
- 26. 熊猫将每年转换为每月
- 27. 使用熊猫将JSON转换为CSV
- 28. Spark将熊猫df转换为S3
- 29. 将数据转换为熊猫缺失
- 30. 熊猫:转换
'NaN'不能表示为Int64因此错误,您可以将您的值转换为字符串,然后用字符串'NaN'替换缺失的值,或者将其保留为浮点数,因为它支持'NaN ' – EdChum 2014-10-28 19:49:59
当前的'dtype'是什么?你不能只使用'np.float64'吗? – EdChum 2014-10-28 19:51:07
实际上它是float64,但它是一个小数,并且我想最终将这些值与数据库中的整数进行比较(它们是某种类型的ID) – user3659451 2014-10-28 19:53:00