首页 > 解决方案 > 如何在 Python 中将混合值转换为整数?

问题描述

我在 DataFrame 中有一个列:

column1
Jone
Jeck
42
Fin
Tom
45

所有值都是str。如何将 42 和 45 转换为 int 类型?

标签: pythonpandasdataframetypes

解决方案


使用自定义函数,但以后实际使用混合数据真的很痛苦:

def f(x):
    try:
        return int(x)
    except:
        return x

df['column1'] = df['column1'].apply(f)
print (df)
  column1
0    Jone
1    Jeck
2      42
3     Fin
4     Tom
5      45

print (df['column1'].apply(type))
0    <class 'str'>
1    <class 'str'>
2    <class 'int'>
3    <class 'str'>
4    <class 'str'>
5    <class 'int'>
Name: column1, dtype: object

推荐阅读