Python 第三方库 Pandas 数据分析教程

  • Post category:Python

接下来我将详细讲解“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 数据分析教程”的完整攻略,希望能对您有所帮助。