看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas
的 select_dtypes
方法用于选择符合特定数据类型的 DataFrame 列。该方法非常有用,尤其是在处理具有混合数据类型的大型 DataFrame 时。下面我们详细讲解它的语法、参数、返回值,并通过实例进行说明。
DataFrame.select_dtypes(include=None, exclude=None)
include
:单个类型或类型列表,表示需要包含的列的数据类型。exclude
:单个类型或类型列表,表示需要排除的列的数据类型。注意:include
和 exclude
不能同时为 None。
可以使用的类型包括:
int64
float64
bool
category
datetime64
timedelta64
object
(字符串或混合类型)返回一个 DataFrame,只包含符合 include
或 exclude
条件的列。
构造示例数据:
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
df_num = df.select_dtypes(include=['number'])
print("数值型列:")
print(df_num)
输出:
数值型列:
A B
0 1 0.1
1 2 0.2
2 3 0.3
3 4 0.4
df_bool = df.select_dtypes(include=['bool'])
print("布尔型列:")
print(df_bool)
输出:
布尔型列:
D
0 True
1 False
2 True
3 False
df_no_str = df.select_dtypes(exclude=['object'])
print("排除字符串型列:")
print(df_no_str)
输出:
排除字符串型列:
A B D E
0 1 0.1 True 2023-01-01
1 2 0.2 False 2023-01-02
2 3 0.3 True 2023-01-03
3 4 0.4 False 2023-01-04
df_include_exclude = df.select_dtypes(include=['number', 'bool'],
exclude=['int64'])
print("包含数值型和布尔型,但排除 int64 型的列:")
print(df_include_exclude)
输出:
包含数值型和布尔型,但排除 int64 型的列:
B D
0 0.1 True
1 0.2 False
2 0.3 True
3 0.4 False
通过这些示例,可以看到 select_dtypes
方法在数据选择和预处理过程中非常灵活和有用。
更新时间:2024-07-16 19:21:38 标签:pandas python 筛选 类型