Pandas concat将Int更改为Object(无空值)

时间:2019-02-22 15:32:58

标签: python pandas

我正在通过熊猫(read_sql_query)运行一堆对SQL的查询,并希望将所有结果数据帧组合为一个。每个查询的结果都具有适当的dtypes。没有空值,但是无论如何,串联会将我所有的int列更改为object。

event_list_frames = []
for event_id in events[id]:
        event_list_frames.append(get_previous_events(event_id))
all_previous_events = pd.concat(event_list_frames)

get_previous_events方法的所有结果都具有以下类型:

date             datetime64[ns]
event_id                  int64
event_category            int64
size_of_x                 float_64
size_of_y                 float_64
dtype: object

确认后,我们得到以下数据框:

<class 'pandas.core.frame.DataFrame'>
Int64Index: 6240 entries, 1156 to 648
Data columns (total 14 columns):
date             6240 non-null datetime64[ns]
event_id         6240 non-null object
event_category   6240 non-null object
size_of_x        6240 non-null float64
size_of_y        6240 non-null float64
dtypes: datetime64[ns](1), float64(2), object(2)

如您所见,所有列都恰好有6240个非空条目,但是为什么将我的int列转换为object?如何避免这种情况?

0 个答案:

没有答案