📜  使用 df.astype 选择分类数据和数值数据 - Python (1)

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

使用 df.astype 选择分类数据和数值数据 - Python

在数据分析或机器学习中,常常要选择分类数据或数值数据。使用 pandas 中的 df.astype() 方法可以将一个数据框的数据类型转换为特定类型,从而轻松选择所需类型的数据。本文将介绍如何使用 df.astype() 选择分类数据和数值数据。

选择分类数据

选择分类数据时,通常是从数据类型为字符串中选择,例如性别,颜色等。例如,在一个数据框中有一个名为 gender 的列,存储着 'male' 或 'female',我们想将其转换为分类类型。我们可以使用下面的代码实现:

import pandas as pd

# 创建数据框
data = {'name': ['John', 'Jack', 'Lucy', 'Eric'],
        'gender': ['male', 'male', 'female', 'female'],
        'age': [23, 25, 27, 30]}

df = pd.DataFrame(data)

# 将 gender 转换为分类类型
df['gender'] = df['gender'].astype('category')

这里我们使用了 astype() 方法将 gender 列转换为分类类型。我们也可以用 dtype 属性检查转换结果:

print(df['gender'].dtype)

输出:

category
选择数值数据

选择数值数据时,通常是从数据类型为数字中选择,例如工资,数量等。我们可以使用下面的代码将一个字符型数据框转换为数值型数据框:

# 创建数据框
data = {'name': ['John', 'Jack', 'Lucy', 'Eric'],
        'gender': ['male', 'male', 'female', 'female'],
        'age': [23, 25, 27, 30],
        'salary': ['$5000', '$6000', '$7000', '$8000']}

df = pd.DataFrame(data)

# 将 salary 转换为数值类型
df['salary'] = df['salary'].str.replace('$', '').astype('int')

# 按 salary 排序
df = df.sort_values(by=['salary'])

这里我们使用了 astype() 方法与 str.replace() 方法将 salary 转换为数值类型。我们也可以用 dtypes 属性检查结果:

print(df.dtypes)

输出:

name       object
gender     object
age         int64
salary      int64
dtype: object
总结

使用 df.astype() 方法可以轻松地选择分类数据和数值数据,并在数据分析和机器学习中使用。以上就是关于如何使用 df.astype() 选择分类数据和数值数据的介绍,希望对你有所帮助!