📅  最后修改于: 2023-12-03 15:09:34.537000             🧑  作者: Mango
在 Pandas 中,将列字符串转换为 int 主要可以通过 astype()
方法来完成。
假定我们有一个 DataFrame 如下所示:
import pandas as pd
df = pd.DataFrame({
'age': ['25', '33', '41', '27'],
'salary': ['35000', '50000', '75000', '42000']
})
print(df)
输出:
age salary
0 25 35000
1 33 50000
2 41 75000
3 27 42000
其中 age
和 salary
都是 str 类型,我们需要将它们转换为 int 数值类型,那么就可以使用 Pandas 提供的 astype()
方法,代码如下所示:
df['age'] = df['age'].astype(int)
df['salary'] = df['salary'].astype(int)
print(df.dtypes)
输出:
age int32
salary int32
dtype: object
可以看到,现在 age
和 salary
都变为了 int 类型。
值得注意的是,当 DataFrame 中包含非数字的字符串时,转换为 int 类型会出现错误。这时需要使用 to_numeric()
方法,将非数字的字符串转换为 NaN 或者指定错误值。具体用法请参考 Pandas 官方文档。
以上就是如何将列字符串转换为 int 类型的方法,通过 Pandas 中的 astype()
方法,可以将 DataFrame 中的任何列转换为任意类型。