【Python好用到哭的库】pandas-数据分析神器

84 阅读1分钟

库简介

pandas是Python中最流行的数据分析库,提供了DataFrame这一强大的数据结构,可以轻松处理结构化数据。

安装方法

pip install pandas

入门示例

import pandas as pd

# 创建简单的DataFrame
data = {'姓名': ['张三', '李四', '王五'],
        '年龄': [25, 30, 35],
        '城市': ['北京', '上海', '广州']}
df = pd.DataFrame(data)
print(df)

# 基本数据操作
print(df['年龄'].mean())  # 计算平均年龄
print(df[df['年龄'] > 28])  # 筛选年龄大于28的记录

进阶实战

# 读取CSV文件并进行数据分析
import pandas as pd

# 读取数据
df = pd.read_csv('sales_data.csv')

# 数据清洗
df = df.dropna()  # 删除缺失值
df['销售额'] = df['单价'] * df['数量']

# 分组统计
sales_by_city = df.groupby('城市')['销售额'].sum()
print(sales_by_city)

# 时间序列分析
df['日期'] = pd.to_datetime(df['日期'])
df.set_index('日期', inplace=True)
monthly_sales = df['销售额'].resample('M').sum()

最佳实践

  • 使用.copy()方法避免SettingWithCopyWarning
  • 对于大型数据集,使用适当的数据类型减少内存占用
  • 利用向量化操作代替循环提高性能

应用场景

  • 数据清洗和预处理
  • 数据分析和统计
  • 时间序列分析
  • 数据可视化准备

常见问题

  1. 如何处理缺失值?

    • 使用df.dropna()删除缺失值
    • 使用df.fillna(value)填充缺失值
  2. 如何合并多个DataFrame?

    • 使用pd.concat([df1, df2])进行合并
    • 使用pd.merge(df1, df2, on='key')进行连接
  3. 如何提高pandas性能?

    • 使用向量化操作代替循环
    • 使用适当的数据类型
    • 使用分块处理大型数据集

学习资源