pandas字符转整数int64

在数据处理和分析的过程中,经常会遇到需要将字符串类型的数据转换为整数类型的情况。在pandas中,我们可以使用astype()方法将字符类型的数据转换为int64类型,方便我们进行后续的计算和分析。
使用astype()方法进行转换
我们可以使用astype()方法将字符串类型的数据转换为int64类型。下面是一个简单的示例代码:
import pandas as pd
data = {'A': ['1', '2', '3', '4', '5'],
'B': ['5', '4', '3', '2', '1']}
df = pd.DataFrame(data)
df['A'] = df['A'].astype('int64')
df['B'] = df['B'].astype('int64')
print(df.dtypes)
运行结果:
A int64
B int64
dtype: object
可以看到,使用astype()方法成功将字符串类型的数据转换为int64类型。
转换错误处理
在实际的数据处理中,有时候会遇到无法将字符串转换为int64类型的情况,此时可以使用errors参数来处理转换错误。示例如下:
import pandas as pd
data = {'A': ['1', '2', '3', '4', '5', 'a'],
'B': ['5', '4', '3', '2', '1', 'b']}
df = pd.DataFrame(data)
df['A'] = pd.to_numeric(df['A'], errors='coerce')
df['B'] = pd.to_numeric(df['B'], errors='coerce')
print(df)
运行结果:
A B
0 1.0 5.0
1 2.0 4.0
2 3.0 3.0
3 4.0 2.0
4 5.0 1.0
5 NaN NaN
可以看到,通过设置errors参数为’coerce’,无法转换的字符串将被转换为NaN。
使用apply()方法进行转换
除了astype()方法外,我们还可以使用apply()方法结合lambda函数来进行转换。示例如下:
import pandas as pd
data = {'A': ['1', '2', '3', '4', '5'],
'B': ['5', '4', '3', '2', '1']}
df = pd.DataFrame(data)
df['A'] = df['A'].apply(lambda x: int(x))
df['B'] = df['B'].apply(lambda x: int(x))
print(df.dtypes)
运行结果:
A int64
B int64
dtype: object
以上就是使用pandas将字符转换为int64类型的几种方法,通过这些方法,我们可以方便地处理数据,并进行后续的数字计算和分析。
极客教程