Python——DataFrame基础操作

1. DataFrame简介

DataFrame是pandas库中的一个重要数据结构,类似于Excel中的二维表格,可以存储不同类型的数据,并且提供了强大的数据处理和分析功能。在这篇文章中,我们将学习DataFrame的基础操作。

2. 创建DataFrame

2.1 使用字典创建DataFrame

可以使用字典来创建DataFrame,字典的每个键值对表示DataFrame的一列。下面是一个示例:

import pandas as pd

data = {'Name': ['Tom', 'John', 'Alice'],

'Age': [25, 28, 32],

'Country': ['USA', 'UK', 'Canada']}

df = pd.DataFrame(data)

print(df)

输出结果:

Name Age Country

0 Tom 25 USA

1 John 28 UK

2 Alice 32 Canada

通过字典的键作为列名,值作为列的数据构建了一个DataFrame。

2.2 使用列表创建DataFrame

除了字典,还可以使用列表创建DataFrame,每个列表表示DataFrame的一行。下面是一个示例:

data = [['Tom', 25, 'USA'], ['John', 28, 'UK'], ['Alice', 32, 'Canada']]

df = pd.DataFrame(data, columns=['Name', 'Age', 'Country'])

print(df)

输出结果与前面的示例相同。

3. 数据访问和操作

3.1 访问列和行

可以使用列名来访问DataFrame的某一列:

names = df['Name']

print(names)

输出结果:

0 Tom

1 John

2 Alice

Name: Name, dtype: object

可以使用iloc方法来访问DataFrame的某一行:

row = df.iloc[0]

print(row)

输出结果:

Name Tom

Age 25

Country USA

Name: 0, dtype: object

3.2 添加一列

可以使用赋值运算符来给DataFrame添加一列:

df['Gender'] = ['M', 'M', 'F']

print(df)

输出结果:

Name Age Country Gender

0 Tom 25 USA M

1 John 28 UK M

2 Alice 32 Canada F

3.3 删除一列

可以使用drop方法来删除DataFrame的一列:

df = df.drop('Gender', axis=1)

print(df)

输出结果:

Name Age Country

0 Tom 25 USA

1 John 28 UK

2 Alice 32 Canada

4. 数据过滤和选择

4.1 根据条件过滤

可以使用条件表达式来过滤DataFrame的数据。下面是一个示例:

filtered_df = df[df['Age'] > 25]

print(filtered_df)

输出结果:

Name Age Country

1 John 28 UK

2 Alice 32 Canada

以上代码中,我们使用了列名Age进行了条件过滤,筛选出年龄大于25的行。

4.2 使用iloc选择行和列

可以使用iloc方法来选择DataFrame的特定行和列。

例如,选择第一行的前两列:

subset = df.iloc[0, :2]

print(subset)

输出结果:

Name Tom

Age 25

Name: 0, dtype: object

以上代码中,使用了0表示第一行,:2表示前两列。

5. 数据统计和计算

5.1 基本统计函数

DataFrame提供了许多统计函数来计算数据的基本统计量,如均值、最小值、最大值、中位数、标准差等。下面是一些示例:

mean_age = df['Age'].mean()

print('Mean Age:', mean_age)

min_age = df['Age'].min()

print('Minimum Age:', min_age)

max_age = df['Age'].max()

print('Maximum Age:', max_age)

median_age = df['Age'].median()

print('Median Age:', median_age)

std_age = df['Age'].std()

print('Standard Deviation:', std_age)

输出结果:

Mean Age: 28.333333333333332

Minimum Age: 25

Maximum Age: 32

Median Age: 28.0

Standard Deviation: 3.0550504633038935

5.2 自定义统计函数

除了内置的统计函数,我们还可以自定义统计函数来处理数据。下面是一个示例,计算年龄大于30岁的人数:

def count_people(row):

if row['Age'] > 30:

return 1

else:

return 0

count = df.apply(count_people, axis=1).sum()

print('Number of people older than 30:', count)

输出结果:

Number of people older than 30: 1

以上代码中,我们定义了一个count_people函数,根据年龄是否大于30返回0或1,然后使用apply方法在DataFrame的每一行上应用该函数。

总结

本文介绍了DataFrame的基础操作,包括创建DataFrame、数据访问和操作、数据过滤和选择、数据统计和计算等。熟练掌握这些操作对于进行数据处理和分析非常重要,希望本文能对读者有所帮助。

后端开发标签