问题
我连接了两个int类型的序列,但返回的数据帧是float类型。这是因为序列的索引没有对齐,在连接发生时,pandas用NaN填充了这些缺失值。然而,NaN被认为是一种浮点数,不幸的是,它会将所有整数与之一起转换为浮点数。
问题
我的问题是如何用其他东西填补这些缺失值,而不会将我的整数转换为浮点数?
MCV
import pandas as pd
s1 = pd.Series([1], index=['A'])
s2 = pd.Series([1], index=['B'])
print "s1 type: {} | s2 type: {}\n".format(s1.dtype, s2.dtype)
df = pd.concat([s1, s2], axis=1)
print df, "\n"
print df.dtypes
输出:
s1 type: int64 | s2 type: int64
0 1
A 1.0 NaN
B NaN 1.0
0 float64
1 float64
dtype: object
0
还是-1
或其他值,之后你可以在fillna
后使用df.astype(int)
,但是你知道NaN
不能表示为整数,所以你必须决定你想要什么代替。 - EdChum