DataFrame数据类型的转换

生成一个DataFrame

import pandas as pd

df = pd.DataFrame({'one':[1, 2, 3, 4], 'two':[5, 6, 7, 8]})
print(df)
   one  two
0    1    5
1    2    6
2    3    7
3    4    8

查看df的数据类型

#查看df本身的数据类型
print(type(df))
<class 'pandas.core.frame.DataFrame'>
#查看df内部的数据类型
print(df.dtypes)
one    int64
two    int64
dtype: object

对df进行数据类型的转换

方法一:df.astype()

#将df的全部数据转换为float
df = df.astype(float)
print(df.dtypes)
print('df的全部数据已从int64转换为float64')
one    float64
two    float64
dtype: object
df的全部数据已从int64转换为float64
#将df某一列(one列)的数据转换为object
df['one'] = df['one'].astype(object)
print(df.dtypes)
print('df one列的数据已从float64转换为object')
one     object
two    float64
dtype: object
df one列的数据已从float64转换为object

方法二:pd.DataFrame()

#将df的全部数据转换为float
df = pd.DataFrame(df, dtype = float)
print(df.dtypes)
print('df的全部数据已转换为float64')
one    float64
two    float64
dtype: object
df的全部数据已转换为float64
#将df某一列(one列)的数据转换为int
df['one'] = pd.DataFrame(df['one'], dtype = int)
print(df.dtypes)
print('df one列的数据已从float64转换为int64')
one      int32
two    float64
dtype: object
df one列的数据已从float64转换为int64
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐