我遇到了一个奇怪的问题,combine\u first方法导致存储为bool的值被提升为float64。 示例:
In [1]: import pandas as pd
In [2]: df1 = pd.DataFrame({"a": [True]})
In [3]: df2 = pd.DataFrame({"b": ['test']})
In [4]: df2.combine_first(df1)
Out[4]:
a b
0 1.0 test
这个问题已经在3年前的一篇文章中报道过:pandas DataFrame combine_first and update methods have strange behavior。这个问题被告知要解决,但我在熊猫0.18.1下仍然有这种行为
谢谢你的帮助
在事件链的某个地方,为了得到一个组合的数据帧,必须解决潜在的缺失值。我知道你的例子没有遗漏什么。}不是{},或{}。因此,为了有一个包含}的公共}。作为“浮动”,大量的操作变得更加高效,是一个不错的选择。显然,这并不是所有时候的最佳选择,但必须做出选择,熊猫也试图推断出最好的选择。在
None
和{bool
和None
或{dtype
,有必要将该列强制转换为object
或{解决方法:
设置
解决方案
^{pr2}$我遇到了同样的问题。这个具体的病例似乎还没有在大熊猫身上得到解决。我已经提交了一份缺陷报告:
https://github.com/pandas-dev/pandas/issues/20699
相关问题 更多 >
编程相关推荐