**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
4小时前关门了。
Improve this question
我是python的新手,正在做一个学校的项目,我试图将一行concat到我的 Dataframe 中,但是当我使用pd.concat时,不知何故我所有的列都变成了对象。
这里我只是加载数据并检查dtype
df=pd.read_csv('living-planet-index.csv', delimiter=';')
df.dtypes
该函数返回:
Region object
Year int64
Average Index float64
Upper Index float64
Lower Index float64
dtype: object
然后,我连接所需的行:
africa2=pd.DataFrame({'Region':'Africa', 'Year':'2018', 'Average Index':'34.445875', 'Upper Index': '73.433580', 'Lower Index': '15.991854'}, index=[48])
df=pd.concat([df.iloc[:48], africa2, df.iloc[48:]])
df.types
我本以为.dtypes会返回完全相同的值,但它却返回了以下内容:
Region object
Year object
Average Index object
Upper Index object
Lower Index object
dtype: object
我做错什么了吗?我无法想象pd.concat只是因为它应该这么做。
1条答案
按热度按时间iq0todco1#
好的,pd.concat把所有的列转换成对象,你可以在document的例子中看到,dtype总是object,你可以用**df.astype()**把你的列转换回它们的dtype。