python - 在将 DataFrame 与可为空的整数连接时保留数据类型
问题描述
如何在将 DataFrame 与可空整数连接时保留数据类型?
# input data
import pandas as pd
t1 = pd.DataFrame(index=[0], data={'x':[1]}, dtype='UInt8')
t2 = pd.DataFrame(index=[1], data={'y':[1]}, dtype='UInt8')
'''actual result'''
print(t1.dtypes)
# x UInt8
# dtype: object
print(t2.dtypes)
# y UInt8
# dtype: object
print(pd.concat([t1,t2], join='outer', sort=False).dtypes)
# x object
# y object
# dtype: object
为什么将连接结果的数据类型更改为object
,如何确保在连接过程中保留数据类型?即我希望数据类型x
和连接后y
保留UInt8
:
'''expected result'''
print(pd.concat([t1,t2], join='outer', sort=False).dtypes)
# x UInt8
# y UInt8
# dtype: object
非常感谢您的帮助!