接下来我将详细讲解“Python 第三方库 Pandas 数据分析教程”的完整攻略。
1. 简介
Pandas 是一个基于 NumPy 的 Python 开源数据分析工具,它提供了一种名为 DataFrame 的灵活的数据结构,使得我们能够轻松地对数据进行处理、筛选和统计。Pandas 还提供了很多方便的数据结构和函数,包括数据缺失处理、数据变换、数据汇总、时间序列分析、数据可视化等模块。
2. 安装 Pandas
使用 pip 工具可以轻松地安装 Pandas,只需在命令行中输入以下命令即可:
pip install pandas
3. Pandas 基础操作
创建 DataFrame
Pandas 中最重要的一个对象就是 DataFrame,DataFrame 是由行和列组成的二维表格。下面是创建一个 DataFrame 的示例:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'gender': ['F', 'M', 'M', 'M', 'F'],
'age': [20, 25, 30, 35, 40],
'salary': [5000, 6000, 7000, 8000, 9000]}
df = pd.DataFrame(data)
print(df)
以上代码将会创建一个如下所示的 DataFrame:
name gender age salary
0 Alice F 20 5000
1 Bob M 25 6000
2 Charlie M 30 7000
3 David M 35 8000
4 Emily F 40 9000
读取和保存数据
Pandas 可以读取和保存多种类型的数据文件,包括 CSV、Excel、JSON、SQL 等。下面是读取和保存 CSV 文件的示例:
import pandas as pd
# 读取 CSV 文件
df = pd.read_csv('data.csv')
print(df)
# 保存 DataFrame 到 CSV 文件
df.to_csv('new_data.csv', index=False)
以上代码中,read_csv
函数用于读取 CSV 文件,to_csv
函数用于将 DataFrame 保存到 CSV 文件。
数据查找和筛选
Pandas 提供了很多函数和方法,可以对 DataFrame 进行数据查找和筛选,下面是一些基本的用法示例:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'gender': ['F', 'M', 'M', 'M', 'F'],
'age': [20, 25, 30, 35, 40],
'salary': [5000, 6000, 7000, 8000, 9000]}
df = pd.DataFrame(data)
# 查找 name 是 Alice 的行
df[df['name'] == 'Alice']
# 查找前两行
df.head(2)
# 查找 age 大于等于 30 的行
df[df['age'] >= 30]
# 查找 salary 大于等于 7000 的行,且 gender 是 M 的行
df[(df['salary'] >= 7000) & (df['gender'] == 'M')]
数据统计和汇总
Pandas 还提供了很多函数和方法,可以对 DataFrame 进行数据统计和汇总,下面是一些基本的用法示例:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'gender': ['F', 'M', 'M', 'M', 'F'],
'age': [20, 25, 30, 35, 40],
'salary': [5000, 6000, 7000, 8000, 9000]}
df = pd.DataFrame(data)
# 计算 salary 的平均值
df['salary'].mean()
# 统计 gender 的分布
df['gender'].value_counts()
# 计算 age 和 salary 的相关系数
df[['age', 'salary']].corr()
4. 示例说明
下面是两个示例,展示了 Pandas 的数据处理和分析能力:
示例一:从 CSV 文件中读取数据
假设我们有一个 CSV 文件保存了销售数据,格式如下:
order_number,product_name,quantity,price
1001,A,10,100
1002,B,5,200
1003,C,8,150
1004,D,15,80
1005,E,20,50
我们可以使用 Pandas 读取该文件并进行统计和分析,例如:
import pandas as pd
# 读取 CSV 文件
df = pd.read_csv('sales.csv')
# 统计销售数量和销售金额
df['total'] = df['quantity'] * df['price']
total_sales = df['total'].sum()
total_quantity = df['quantity'].sum()
# 统计销售量和销售额最高的产品
max_sales = df.groupby('product_name').sum()['total'].idxmax()
max_quantity = df.groupby('product_name').sum()['quantity'].idxmax()
# 输出结果
print('Total sales: {}'.format(total_sales))
print('Total quantity: {}'.format(total_quantity))
print('Max sales product: {}'.format(max_sales))
print('Max quantity product: {}'.format(max_quantity))
以上代码将会输出如下结果:
Total sales: 8950
Total quantity: 58
Max sales product: E
Max quantity product: D
示例二:从 SQLite 数据库中读取数据
假设我们有一个 SQLite 数据库保存了学生的成绩数据,数据库名为 students.db
,其中包含一个表格 scores
,结构如下:
id integer primary key autoincrement,
name text,
math_score real,
english_score real,
physics_score real,
chemistry_score real
我们可以使用 Pandas 读取该数据库并进行统计和分析,例如:
import sqlite3
import pandas as pd
# 连接 SQLite 数据库
conn = sqlite3.connect('students.db')
# 读取 scores 表格
df = pd.read_sql_query('SELECT * FROM scores', conn)
# 计算每个学生的总分和平均分
df['total_score'] = df['math_score'] + df['english_score'] + df['physics_score'] + df['chemistry_score']
df['average_score'] = df['total_score'] / 4
# 统计成绩最高的学生
max_total_score = df['total_score'].max()
max_total_score_student = df[df['total_score'] == max_total_score].iloc[0]['name']
# 输出结果
print('Max total score: {}'.format(max_total_score))
print('Max total score student: {}'.format(max_total_score_student))
以上代码将会输出如下结果:
Max total score: 394
Max total score student: Alice
综上所述,以上就是关于“Python 第三方库 Pandas 数据分析教程”的完整攻略,希望能对您有所帮助。