如何在Pandas中定位数据类型非法的单元格所在行列?
检查DataFrame指定列的整数类型数据并定位非法值
待处理的DataFrame:
name | point | age| ------------------- Jon | 20 | 26 | Mike | abc | 20 |
需求:检查point列的数据是否为int类型,定位非int类型数据的列号和行号(行、列号从1开始计数)。
解决代码
import pandas as pd # 构造目标DataFrame df = pd.DataFrame({ 'name': ['Jon', 'Mike'], 'point': [20, 'abc'], 'age': [26, 20] }) # 遍历检查并输出非法值位置 for row_num, val in enumerate(df['point'], start=1): if not isinstance(val, int): print(f`第2列,第{row_num}行`)
说明
- 遍历
point列的每个元素,通过isinstance()判断是否为int类型 - 行号从1开始计数,对应表格中的直观行序号;
point是第2列,直接指定列号 - 运行代码后会输出:
第2列,第2行,对应数据中的abc位置
内容的提问来源于stack exchange,提问作者Tintin
相关产品推荐
相关产品推荐

