Python中使用pandas

使用Pandas进行数据处理和分析

Pandas是Python中最流行的数据处理和分析库之一。下面我将介绍Pandas的基本使用方法。

安装Pandas

复制代码
pip install pandas

基本数据结构

1. Series - 一维数组

python 复制代码
import pandas as pd

# 创建Series
s = pd.Series([1, 3, 5, 7, 9])
print(s)

2. DataFrame - 二维表格

python 复制代码
# 创建DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'London', 'Paris']
}
df = pd.DataFrame(data)
print(df)

数据读取与写入

读取CSV文件

python 复制代码
df = pd.read_csv('data.csv')

写入CSV文件

python 复制代码
df.to_csv('output.csv', index=False)

读取Excel文件

python 复制代码
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

写入Excel文件

python 复制代码
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)

数据查看与选择

查看数据

python 复制代码
df.head()      # 查看前5行
df.tail(3)     # 查看后3行
df.info()      # 查看数据信息
df.describe()  # 统计摘要

选择数据

python 复制代码
# 选择列
df['Name']       # 选择单列
df[['Name', 'Age']]  # 选择多列

# 选择行
df.iloc[0]       # 按位置选择第一行
df.loc[0]        # 按索引选择
df[df['Age'] > 30]  # 条件选择

数据操作

添加/删除列

python 复制代码
# 添加列
df['Salary'] = [50000, 60000, 70000]

# 删除列
df = df.drop('City', axis=1)

排序

python 复制代码
df.sort_values('Age', ascending=False)

分组聚合

python 复制代码
df.groupby('City')['Age'].mean()

处理缺失值

python 复制代码
df.dropna()      # 删除缺失值
df.fillna(0)     # 填充缺失值

数据合并

python 复制代码
# 连接两个DataFrame
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})
result = pd.concat([df1, df2])

时间序列处理

python 复制代码
# 创建时间序列
dates = pd.date_range('20230101', periods=6)
df = pd.DataFrame({'Date': dates, 'Value': [1, 2, 3, 4, 5, 6]})

# 设置日期为索引
df.set_index('Date', inplace=True)

# 按时间筛选
df['2023-01-01':'2023-01-03']

这只是Pandas功能的冰山一角。Pandas还提供了许多高级功能,如数据透视表、窗口函数、数据可视化集成等。

相关推荐
郝学胜-神的一滴几秒前
机器学习特征预处理:缺失值处理全攻略
人工智能·python·程序人生·机器学习·性能优化·sklearn
lly2024061 分钟前
NumPy 迭代数组
开发语言
rgeshfgreh1 分钟前
Python闭包:函数记住状态的秘密
开发语言·python
古城小栈4 分钟前
Cargo命令工具
开发语言·rust
0***m8226 分钟前
MATLAB高效算法实战技术文章大纲向量化运算替代循环结构
开发语言·算法·matlab
flysh058 分钟前
委托实战案例
开发语言·c#
又见野草8 分钟前
C++入门基础(初阶)
开发语言·c++
有为少年11 分钟前
PyTorch 的统计三剑客:bucketize, bincount 与 histogram
pytorch·python·学习·机器学习·统计
szm022513 分钟前
Java并发
java·开发语言
一念春风13 分钟前
可视化视频编辑(WPF C#)
开发语言·c#·wpf