查看或者修改Pandas中Series结构和DataFrame结构中各个字段(每一列)的数据类型
通过df.dtypes或者series.dtypes可以查看python中pandas的DataFrame或者Series两种数据结构中各列的数据类型。
代码如下:
'''
1. 查看Python的DataFrame的数据类型
'''
# 包的导入
import pandas as pd
# 创建测试数据
series_test = pd.Series([1,2,3])
print('series_test的各列数据类型如下:')
print(series_test.dtypes)
print('///')
df_test = pd.DataFrame({
'A': [1, 2, 3],
'B': [4.1, 5.2, 6.3],
'C': ["7", "8", "9"]})
print('df_test的内容如下:')
print(df_test)
print('df_test的各列主要数据类型如下:')
print(df_test.dtypes)
运行结果如下:
int64
///
df_test的内容如下:
A B C
0 1 4.1 7
1 2 5.2 8
2 3 6.3 9
df_test的各列主要数据类型如下:
A int64
B float64
C object
dtype: object
运用Pandas的Series.astype(dtype) 方法可以将 Pandas 的列转换为指定的 dtype 类型。
代码如下:
'''
1. 修改Python的DataFrame的数据类型
2. 山东青岛 2021年4月5日
'''
# 创建用于测试DataFrame
df_test = pd.DataFrame({
'A': [1, 2, 3],
'B': [4.1, 5.2, 6.3],
'C': ["7", "8", "9"]})
print('转换前df_test的各列主要数据类型如下:')
print(df_test.dtypes)
# 将A这1列转换为str
df_test['A'] = df_test['A'].astype(str)
print('转换后df_test的各列主要数据类型如下:')
print(df_test.dtypes)
运行结果如下:
转换前df_test的各列主要数据类型如下:
A int64
B float64
C object
dtype: object
转换后df_test的各列主要数据类型如下:
A object
B float64
C object
dtype: object
DataFrame.apply() 方法将函数 func 应用于每一列,这里的函数可以是lambda函数。因此可以借助此方法实现DataFrame中每一列数据类型的修改。
代码如下:
'''
1. 修改Python的DataFrame的数据类型
2. 山东青岛 2021年4月5日
'''
# 创建用于测试DataFrame
df_test = pd.DataFrame({
'A': [1, 2, 3],
'B': [4.1, 5.2, 6.3],
'C': ["7", "8", "9"]})
print('转换前df_test的各列主要数据类型如下:')
print(df_test.dtypes)
# 将A这1列转换为str
df_test['B'] = df_test['B'].apply(lambda _: str(_))
print('转换后df_test的各列主要数据类型如下:')
print(df_test.dtypes)
运行结果如下:
转换前df_test的各列主要数据类型如下:
A int64
B float64
C object
dtype: object
转换后df_test的各列主要数据类型如下:
A int64
B object
C object
dtype: object