本文案例:
>>> df = pd.DataFrame([[1, 2.0, 3], [4, 5.0, 6], [7, 8.0, 9]], columns = ['a', 'b', 'c'])
>>> df['a'] = df['a'].astype(str)
>>> df
a b c
0 1 2.0 3
1 4 5.0 6
2 7 8.0 9
>>> df.dtypes
a object
b float64
c int64
dtype: object
文章目录
DataFrame的数据类型改变
1、单列数据类型改变
方法一:pd.to_numeric()适用于单列
>>> df
a b c
0 1 2.0 3
1 4 5.0 6
2 7 8.0 9
>>> df.dtypes
a object
b float64
c int64
dtype: object
>>> df['a'] = pd.to_numeric(df['a'])
>>> df
a b c
0 1 2.0 3
1 4 5.0 6
2 7 8.0 9
>>> df.dtypes
a int64
b float64
c int64
dtype: object
方法二:df[列名].astype(数据类型)
>>> import numpy as np
>>> df
a b c
0 1 2.0 3
1 4 5.0 6
2 7 8.0 9
>>> df.dtypes
a object
b float64
c int64
dtype: object
>>> df['b'] = df['b'].astype(np.int64)
>>> df.dtypes
a object
b int64
c int64
dtype: object
方法三:df[列名].map(数据类型)
>>> df
a b c
0 1 2.0 3
1 4 5.0 6
2 7 8.0 9
>>> df.dtypes
a object
b float64
c int64
dtype: object
>>> df['a'] = df['a'].map(int)
>>> df.dtypes
a int64
b float64
c int64
dtype: object
2、整体数据类型改变
>>> df
a b c
0 1 2.0 3
1 4 5.0 6
2 7 8.0 9
>>> df.dtypes
a object
b float64
c int64
dtype: object
>>> df = df.astype(np.int64)
>>> df.dtypes
a int64
b int64
c int64
dtype: object
DataFrame的数据选取与删除
1、选取所需的列
>>> df
a b c
0 1 2.0 3
1 4 5.0 6
2 7 8.0 9
>>> df = df[['a', 'b']]
>>> df
a b
0 1 2
1 4 5
2 7 8