Python Pandas 使用技巧:高效数据处理的利器

Pandas 是 Python 数据分析的核心库之一,提供了快速、灵活且富有表现力的数据结构。下面我将介绍一些实用的 Pandas 技巧,并通过一个完整的代码示例展示如何高效使用 Pandas 进行数据处理。

1. 基础数据结构

Pandas 主要有两种数据结构:

  • Series:一维数组,类似于带标签的 NumPy 数组

  • DataFrame:二维表格型数据结构,可以看作 Series 的容器

2. 实用技巧与代码示例

示例:销售数据分析

import pandas as pd
import numpy as np

# 创建示例数据
data = {
    'Date': pd.date_range(start='2023-01-01', periods=10),
    'Product': ['A', 'B', 'A', 'C', 'B', 'A', 'C', 'B', 'A', 'C'],
    'Sales': [120, 150, 135, 90, 110, 95, 130, 145, 115, 125],
    'Region': ['North', 'South', 'East', 'West', 'North', 'South', 'East', 'West', 'North', 'South']
}

df = pd.DataFrame(data)
print("原始数据:")
print(df)

结果:

原始数据:
        Date Product  Sales Region
0 2023-01-01       A    120  North
1 2023-01-02       B    150  South
2 2023-01-03       A    135   East
3 2023-01-04       C     90   West
4 2023-01-05       B    110  North
5 2023-01-06       A     95  South
6 2023-01-07       C    130   East
7 2023-01-08       B    145   West
8 2023-01-09       A    115  North
9 2023-01-10       C    125  South

技巧1:数据查看与基本信息

# 查看前几行
print("\n前3行数据:")
print(df.head(3))

# 查看数据基本信息
print("\n数据基本信息:")
print(df.info())

# 描述性统计
print("\n描述性统计:")
print(df.describe())

结果:

前3行数据:
        Date Product  Sales Region
0 2023-01-01       A    120  North
1 2023-01-02       B    150  South
2 2023-01-03       A    135   East

数据基本信息:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 4 columns):
 #   Column   Non-Null Count  Dtype         
---  ------   --------------  -----         
 0   Date     10 non-null     datetime64[ns]
 1   Product  10 non-null     object        
 2   Sales    10 non-null     int64         
 3   Region   10 non-null     object        
dtypes: datetime64[ns](1), int64(1), object(2)
memory usage: 452.0+ bytes
None

描述性统计:
                      Date       Sales
count                   10   10.000000
mean   2023-01-05 12:00:00  121.500000
min    2023-01-01 00:00:00   90.000000
25%    2023-01-03 06:00:00  111.250000
50%    2023-01-05 12:00:00  122.500000
75%    2023-01-07 18:00:00  133.750000
max    2023-01-10 00:00:00  150.000000
std                    NaN   19.727308

技巧2:数据选择与过滤

# 选择单列
products = df['Product']
print("\n产品列:")
print(products)

# 多列选择
subset = df[['Product', 'Sales']]
print("\n产品和销售额列:")
print(subset)

# 条件过滤 - 销售额大于120的记录
high_sales = df[df['Sales'] > 120]
print("\n高销售额记录:")
print(high_sales)

 结果:

产品列:
0    A
1    B
2    A
3    C
4    B
5    A
6    C
7    B
8    A
9    C
Name: Product, dtype: object

产品和销售额列:
  Product  Sales
0       A    120
1       B    150
2       A    135
3       C     90
4       B    110
5       A     95
6       C    130
7       B    145
8       A    115
9       C    125

高销售额记录:
        Date Product  Sales Region
1 2023-01-02       B    150  South
2 2023-01-03       A    135   East
6 2023-01-07       C    130   East
7 2023-01-08       B    145   West
9 2023-01-10       C    125  South

技巧4:分组与聚合

# 按产品分组计算平均销售额
grouped = df.groupby('Product')['Sales'].mean()
print("\n各产品平均销售额:")
print(grouped)

# 多级分组聚合
multi_group = df.groupby(['Region', 'Product']).agg({
    'Sales': ['sum', 'mean', 'count']
})
print("\n按区域和产品的销售汇总:")
print(multi_group)

4. 总结

Pandas 提供了丰富的数据处理功能,掌握这些技巧可以显著提高数据分析效率。本文展示了从基础操作到高级分析的完整流程,包括:

  • 数据查看与基本信息获取

  • 数据选择与过滤

  • 排序与分组聚合

  • 缺失值处理

希望这些技巧能帮助你在实际项目中更高效地使用 Pandas 进行数据分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值