看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas
的 dtypes
属性用于返回每列的数据类型。了解数据类型在数据分析和数据预处理中非常重要。下面我们详细讲解它的语法、返回值,并通过实例进行说明。
DataFrame.dtypes
dtypes
是一个属性,而不是方法,因此它不接受任何参数。
常见的数据类型包括:
int64
float64
bool
category
datetime64[ns]
timedelta64[ns]
object
(字符串或混合类型)返回一个 Series
,索引是列名,值是相应的列的数据类型。
构造示例数据:
import pandas as pd
# 创建示例 DataFrame
data = {
'A': [1, 2, 3, 4],
'B': [0.1, 0.2, 0.3, 0.4],
'C': ['a', 'b', 'c', 'd'],
'D': [True, False, True, False],
'E': pd.date_range('20230101', periods=4)
}
df = pd.DataFrame(data)
print("原始数据:")
print(df)
输出:
原始数据:
A B C D E
0 1 0.1 a True 2023-01-01
1 2 0.2 b False 2023-01-02
2 3 0.3 c True 2023-01-03
3 4 0.4 d False 2023-01-04
print("每列的数据类型:")
print(df.dtypes)
输出:
每列的数据类型:
A int64
B float64
C object
D bool
E datetime64[ns]
dtype: object
假设需要将所有数值列转换为 float
类型,以便进行统一的数值分析。
df = df.astype({'A': 'float64'})
print("转换后的数据类型:")
print(df.dtypes)
输出:
转换后的数据类型:
A float64
B float64
C object
D bool
E datetime64[ns]
dtype: object
有时候,数据读取后会有错误的数据类型,例如数值列被识别为对象类型。我们可以通过 dtypes
属性来识别这些错误并进行纠正。
# 创建包含错误数据类型的 DataFrame
data_with_error = {
'A': [1, 2, 3, 4],
'B': ['0.1', '0.2', '0.3', '0.4'], # 错误的数据类型
'C': ['a', 'b', 'c', 'd']
}
df_error = pd.DataFrame(data_with_error)
print("包含错误数据类型的数据:")
print(df_error)
print("检查错误数据类型:")
print(df_error.dtypes)
# 转换错误的数据类型
df_error['B'] = df_error['B'].astype('float64')
print("修正后的数据类型:")
print(df_error.dtypes)
输出:
包含错误数据类型的数据:
A B C
0 1 0.1 a
1 2 0.2 b
2 3 0.3 c
3 4 0.4 d
检查错误数据类型:
A int64
B object
C object
dtype: object
修正后的数据类型:
A int64
B float64
C object
dtype: object
通过这些示例,可以看到 dtypes
属性在数据检查和预处理中非常重要,可以帮助我们识别和修正数据类型错误,确保数据的准确性和一致性。
更新时间:2024-07-16 19:26:45 标签:pandas python dtypes 数据类型