📜  对象到 int 和 float 转换 pandas (1)

📅  最后修改于: 2023-12-03 15:39:10.206000             🧑  作者: Mango

对象到 int 和 float 转换 pandas

在数据分析和处理中,我们经常需要对不同类型的数据进行转换和处理。pandas是一个强大的Python数据处理库,提供了丰富的数据类型和方法,可以帮助我们轻松地进行数据处理。

在pandas中,我们可以使用astype方法将对象(object)类型的数据转换为int或float类型。

将对象转换为int类型

首先,我们需要创建一个包含对象类型数据的DataFrame:

import pandas as pd

data = {'A': ['1', '2', '3'], 'B': ['4', '5', '6']}
df = pd.DataFrame(data)
print(df.dtypes)
# 输出: A    object
#       B    object
#       dtype: object

上述代码中,我们创建了一个包含两列对象类型数据的DataFrame,并输出了它们的数据类型。

接下来,我们可以使用astype方法将对象类型数据转换为int类型:

df['A'] = df['A'].astype(int)
print(df.dtypes)
# 输出: A    int32
#       B    object
#       dtype: object

astype方法将指定列的数据类型转换为int,我们还可以使用apply方法实现相同的效果:

df['A'] = df['A'].apply(int)
print(df.dtypes)
# 输出: A    int32
#       B    object
#       dtype: object

在转换时,需要确保数据中不包含非数字字符,否则将引发类型转换错误。

将对象转换为float类型

和将对象转换为int类型类似,我们可以使用astype方法将对象类型数据转换为float类型。

df['B'] = df['B'].astype(float)
print(df.dtypes)
# 输出: A    int32
#       B    float64
#       dtype: object

可以看到,我们将包含数字字符的字符串数据成功转换为了float类型,数值后保留了小数点后面的位数。

同样,我们也可以使用apply方法实现相同的效果:

df['B'] = df['B'].apply(float)
print(df.dtypes)
# 输出: A    int32
#       B    float64
#       dtype: object

需要注意的是,在转换时,需要确保数据中不包含无效的浮点数字符,否则同样会引发类型转换错误。

通过这篇文章的介绍,我们了解了如何在pandas中将对象类型数据转换为int或float类型。在实际的数据处理过程中,我们可以结合其他pandas方法,轻松地完成数据类型转换和数据处理的工作。