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还提供了许多高级功能,如数据透视表、窗口函数、数据可视化集成等。

相关推荐
海绵宝宝转agent8 分钟前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
小奇不哭15 分钟前
ROS2 单节点,RGB-D 深度相机局部路径提取 + B 样条平滑路径 + YOLOv8 障碍物检测 + 深度测距,用于移动机器人视觉局部循迹。
python·yolov8·ros2·cv2·路径探索循迹
小小龙学IT27 分钟前
Python scikit-learn 机器学习库深度解析
python·机器学习·scikit-learn
Wang's Blog41 分钟前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
2601_962071571 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
卷无止境2 小时前
独立开发者的"富矿地带":哪些垂直领域值得你押注一辈子?
后端·python
\光辉岁月/2 小时前
5.java-数组
java·开发语言
Java后端的Ai之路2 小时前
Python进阶探索29_eval内置函数
开发语言·python·探索·eval·内置函数
计算机毕业编程指导师2 小时前
计算机毕设选题推荐:基于Hadoop与Spark的Steam游戏数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·steam游戏
计算机毕业编程指导师2 小时前
【计算机毕设选题推荐】基于Hadoop+Spark的白鹿抖音评论大数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·抖音评论