python - 检查 Pandas 数据框列中的值是否为整数,如果不是则将其写入列表

标签 python pandas integer

我有一个 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/

相关文章:

Python Pandas - 在 Groupby 内部迭代以查找时间差异

python - 如何使用 HDF 文件(固定格式,多个键)作为 pandas 数据帧?

Android 应用程序在执行 if 语句时崩溃?

python - 如何通过索引将数组元素插入到 SQLite 表中?

python - 当我在终端中输入 'python -V' 时...为什么我看到 Python 2.7.10

python - 我不明白代码行为

python - SQLAlchemy变量关系

python - 在 Pandas/Python 中使用可变大小的行更新数据框

regex - 匹配负/正 float/int 正则表达式 - 这是邪恶的吗?

c# - 如何将月份名称(字符串)解析为整数以便在 C# 中进行比较?