我有一个 Pandas 数据框,其中有一列可以包含整数、浮点数、字符串等。我想遍历所有行并检查每个值是否为整数,如果不是,我想创建一个包含错误值(值)的列表不是整数)
我尝试过 isnumeric(),但无法遍历每一行并将错误写入输出。我尝试使用 iterrows() 但它将所有值转换为浮点数。
ID Field1
1 1.15
2 2
3 1
4 25
5 and
预期结果:
[1.15,"and"]
最佳答案
如果“Field1”是一列字符串,则使用 str.isdigit
(仅对整数返回 True)并否定:
df.loc[~df['Field1'].str.isdigit(), 'Field1'].tolist()
# ['1.15', 'and']
或者,如果列包含混合类型,请使用
df.loc[~df['Field1'].astype(str).str.isdigit(), 'Field1'].tolist()
# [1.15, 'and']
关于python - 检查 Pandas 数据框列中的值是否为整数,如果不是则将其写入列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56243441/