Python 数据类型首先丢失在pandas combine_中

Python 数据类型首先丢失在pandas combine_中,python,join,pandas,concat,series,Python,Join,Pandas,Concat,Series,在两个系列(pandas版本0.14.1)中首先使用combine_时,我遇到了一个奇怪的行为。 s1和s2均为int32型。生成的序列是float类型。使用例如concat时不会发生这种情况。我想知道,我是不是误解了什么,还是偶然发现了一个错误 我读过这篇文章,但似乎是另外一回事: 我认为第二个答案是实际发生的情况,因为您的索引不完全相同,您有间隙,因此这些间隙看起来它们被转换为float64以处理这种不一致性,例如,如果您的两个系列都有相同的索引,那么数据类型将被保留。我不能说这是否是一个

在两个系列(pandas版本0.14.1)中首先使用combine_时,我遇到了一个奇怪的行为。 s1和s2均为int32型。生成的序列是float类型。使用例如concat时不会发生这种情况。我想知道,我是不是误解了什么,还是偶然发现了一个错误

我读过这篇文章,但似乎是另外一回事:


我认为第二个答案是实际发生的情况,因为您的索引不完全相同,您有间隙,因此这些间隙看起来它们被转换为float64以处理这种不一致性,例如,如果您的两个系列都有相同的索引,那么数据类型将被保留。我不能说这是否是一个错误,但它似乎是有意的谢谢,这听起来很合理。我想我必须添加一个.astype(int)来避免这种行为。
import pandas as pd
from pandas import Series

s1 = Series(range(0, 5), index=pd.date_range('20140903', periods=5, freq='d'))
s2 = Series(range(0, 5), index=pd.date_range('20140901', periods=5, freq='d'))

print s1.combine_first(s2)