如何用布尔掩码过滤Python中DataFrame的df.dtypes以获取指定结果?
问题:过滤DataFrame的dtypes获取指定类型列
已知DataFrame名为df,执行df.dtypes后输出如下:
tx_price int64 beds int64 baths int64 lot_size int64 property_type object exterior_walls object roof object basement float64 restaurants int64 groceries int64 nightlife int64
如何使用布尔掩码过滤df.dtypes,得到如下指定输出?
property_type object exterior_walls object roof object dtype: object
解决方案
直接通过布尔掩码筛选出类型为object的项即可,有两种写法:
- 分步实现:
# 生成布尔掩码,标记哪些 dtype 是 object 类型 mask = df.dtypes == 'object' # 用掩码过滤 df.dtypes filtered_dtypes = df.dtypes[mask] # 查看结果 print(filtered_dtypes)
- 合并为一行:
filtered_dtypes = df.dtypes[df.dtypes == 'object'] print(filtered_dtypes)
执行以上代码后,就能得到指定的输出结果——仅保留类型为object的列及其 dtype 信息。
内容的提问来源于stack exchange,提问作者yomi
相关产品推荐
相关产品推荐

