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

相关推荐
程序员龙叔15 小时前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
用户83562907805118 小时前
使用 Python 操作 Word 内容控件
后端·python
LDR00618 小时前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术18 小时前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园18 小时前
C++20 Modules 模块详解
java·开发语言·spring
swordbob18 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享19 小时前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.19 小时前
C语言--day30
c语言·开发语言
码云骑士19 小时前
32-慢查询排查全流程(下)-索引优化实战与最左前缀原则
python