Pandas 数据分析基础

class Python,Pandas

Pandas 是一个用于数据操作和分析的强大 Python 库。它提供了灵活的数据结构(如 SeriesDataFrame),使得数据清洗、分析和处理变得更加便捷。以下是 Pandas 数据分析的基础知识,包括如何创建、操作和分析数据。

1. 安装 Pandas

首先,你需要安装 Pandas。如果你还没有安装,可以通过以下命令进行安装:

pip install pandas

2. Pandas 基本数据结构

Pandas 主要有两种数据结构:

  • Series: 一维数据结构,类似于 Python 的列表或字典。
  • DataFrame: 二维数据结构,类似于电子表格或 SQL 表。

2.1 创建 Series

Series 是一种类似于一维数组的结构,具有索引和数据。

import pandas as pd

# 创建一个简单的 Series
s = pd.Series([1, 3, 5, 7, 9])
print(s)

# 指定索引创建 Series
s = pd.Series([1, 3, 5], index=['a', 'b', 'c'])
print(s)

2.2 创建 DataFrame

DataFrame 是一种二维数据结构,类似于表格。你可以从字典、列表或读取文件(如 CSV)来创建 DataFrame

# 从字典创建 DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)

# 从列表创建 DataFrame
data = [
    ['Alice', 25, 'New York'],
    ['Bob', 30, 'Los Angeles'],
    ['Charlie', 35, 'Chicago']
]
df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)

3. 基本操作

3.1 数据查看

查看 DataFrame 的基本信息:

# 查看前几行数据
print(df.head())  # 默认显示前 5 行

# 查看数据的基本信息
print(df.info())

# 查看统计信息
print(df.describe())

# 查看列名
print(df.columns)

3.2 选择数据

你可以选择 DataFrame 中的某一列或几列,也可以选择特定的行。

# 选择一列
print(df['Name'])

# 选择多列
print(df[['Name', 'City']])

# 选择特定行
print(df.iloc[0])  # 使用行索引
print(df.loc[0])  # 使用标签(对于默认索引标签与 iloc 一致)

3.3 数据筛选

Pandas 允许你根据条件筛选数据:

# 筛选出年龄大于 30 的人
filtered_df = df[df['Age'] > 30]
print(filtered_df)

3.4 数据添加与删除

你可以向 DataFrame 添加新列或删除不需要的列。

# 添加新列
df['Country'] = ['USA', 'USA', 'USA']
print(df)

# 删除列
df = df.drop(columns=['Country'])
print(df)

3.5 数据修改

可以对 DataFrame 中的数据进行修改:

# 修改单元格的值
df.at[0, 'Age'] = 26
print(df)

# 批量修改
df['Age'] = df['Age'] + 1
print(df)

4. 数据处理与分析

4.1 处理缺失值

数据中可能存在缺失值,Pandas 提供了处理这些缺失值的方法。

# 检查缺失值
print(df.isnull())

# 删除含有缺失值的行
df = df.dropna()
print(df)

# 用特定值填充缺失值
df['Age'] = df['Age'].fillna(df['Age'].mean())
print(df)

4.2 数据分组

Pandas 提供了强大的数据分组功能,可以根据某一列的值对数据进行分组,并对分组后的数据进行聚合计算。

# 按城市分组并计算平均年龄
grouped = df.groupby('City')['Age'].mean()
print(grouped)

4.3 数据排序

你可以对 DataFrame 进行排序。

# 按年龄排序
sorted_df = df.sort_values(by='Age')
print(sorted_df)

5. 数据输入与输出

Pandas 支持从多种格式读取数据并将数据导出到多种格式。

5.1 读取数据

# 从 CSV 文件读取数据
df = pd.read_csv('data.csv')

# 从 Excel 文件读取数据
df = pd.read_excel('data.xlsx')

# 从 SQL 数据库读取数据
import sqlite3
conn = sqlite3.connect('database.db')
df = pd.read_sql_query('SELECT * FROM table_name', conn)

5.2 导出数据

# 导出到 CSV 文件
df.to_csv('output.csv', index=False)

# 导出到 Excel 文件
df.to_excel('output.xlsx', index=False)

# 导出到 SQL 数据库
df.to_sql('table_name', conn, if_exists='replace', index=False)

6. 总结

Pandas 是一个功能强大的数据分析工具,通过其灵活的数据结构和丰富的操作方法,你可以轻松处理和分析大规模数据。掌握 Pandas 的基础知识,如数据创建、选择、处理、分组和导入导出操作,能够让你在数据分析工作中得心应手。

评论区
评论列表
menu