📅  最后修改于: 2023-12-03 15:03:28.268000             🧑  作者: Mango
Pandas是一个强大的数据分析库,其中的DataFrame是最常用的数据结构之一。DataFrame是一个二维的、大小可变的表格型数据结构,每列可以是不同的类型,可以将其看作是Series对象的容器。
在数据分析过程中,我们常常需要对DataFrame进行一些操作,如添加、删除列,转换数据类型等。Pandas提供了许多内置的转换函数来实现这些操作,接下来我们将介绍一些常用的函数。
先创建一个DataFrame,为了方便后续操作,我们假设这个DataFrame为一个学生信息表,包含学生ID、姓名、性别、年龄、成绩等信息。
import pandas as pd
data = {
'ID': ['001', '002', '003', '004', '005'],
'Name': ['Amy', 'Bob', 'Cathy', 'David', 'Emma'],
'Gender': ['Female', 'Male', 'Female', 'Male', 'Female'],
'Age': [21, 22, 23, 24, 25],
'Grade': [85, 90, 92, 88, 95]
}
df = pd.DataFrame(data)
print(df)
输出结果:
ID Name Gender Age Grade
0 001 Amy Female 21 85
1 002 Bob Male 22 90
2 003 Cathy Female 23 92
3 004 David Male 24 88
4 005 Emma Female 25 95
astype()函数可以将DataFrame中的一列数据转换为指定的类型,常用的数据类型包括int、float、str等。
例如,我们将年龄列转换为字符串类型:
df['Age'] = df['Age'].astype(str)
print(df)
输出结果:
ID Name Gender Age Grade
0 001 Amy Female 21 85
1 002 Bob Male 22 90
2 003 Cathy Female 23 92
3 004 David Male 24 88
4 005 Emma Female 25 95
to_datetime()函数可以将传入的字符串转换为日期格式。
例如,我们将一个日期字符串转换为日期格式,并将其作为新的一列添加到DataFrame中:
date_str = '20220101'
df['Date'] = pd.to_datetime(date_str, format='%Y%m%d')
print(df)
输出结果:
ID Name Gender Age Grade Date
0 001 Amy Female 21 85 2022-01-01
1 002 Bob Male 22 90 2022-01-01
2 003 Cathy Female 23 92 2022-01-01
3 004 David Male 24 88 2022-01-01
4 005 Emma Female 25 95 2022-01-01
insert()函数可以在指定位置插入一列数据。
例如,我们在年龄列后面插入一列出生年份:
df.insert(loc=4, column='Year', value=df['Date'].dt.year)
print(df)
输出结果:
ID Name Gender Age Year Grade Date
0 001 Amy Female 21 2022 85 2022-01-01
1 002 Bob Male 22 2022 90 2022-01-01
2 003 Cathy Female 23 2022 92 2022-01-01
3 004 David Male 24 2022 88 2022-01-01
4 005 Emma Female 25 2022 95 2022-01-01
assign()函数可以添加一列计算得到的新数据。
例如,我们添加一列平均分,它的值为成绩列与年龄列的平均值:
df = df.assign(Average=(df['Grade'] + df['Age']) / 2)
print(df)
输出结果:
ID Name Gender Age Year Grade Date Average
0 001 Amy Female 21 2022 85 2022-01-01 53.0
1 002 Bob Male 22 2022 90 2022-01-01 56.0
2 003 Cathy Female 23 2022 92 2022-01-01 57.5
3 004 David Male 24 2022 88 2022-01-01 56.0
4 005 Emma Female 25 2022 95 2022-01-01 60.0
drop()函数可以删除DataFrame中的指定列。
例如,我们删除年龄和成绩两列:
df = df.drop(columns=['Age', 'Grade'])
print(df)
输出结果:
ID Name Gender Year Date Average
0 001 Amy Female 2022 2022-01-01 53.0
1 002 Bob Male 2022 2022-01-01 56.0
2 003 Cathy Female 2022 2022-01-01 57.5
3 004 David Male 2022 2022-01-01 56.0
4 005 Emma Female 2022 2022-01-01 60.0
以上介绍了DataFrame常用的转换函数,包括转换数据类型、添加列、删除列等操作。在实际数据处理过程中,我们会用到各种各样的转换函数,需要根据具体需求来选择合适的函数。Pandas的DataFrame提供了很多强大的数据处理和转换功能,可以帮助我们更方便、高效地处理数据。