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

相关推荐
草莓熊Lotso1 分钟前
《回溯 C++98:string 核心机制拆解 —— 从拷贝策略到高效 swap》
开发语言·c++
2401_8315017310 分钟前
Python学习之day01学习(变量定义和数据类型使用)
开发语言·python·学习
倔强青铜三38 分钟前
苦练Python第61天:logging模块——让Python日志“有迹可循”的瑞士军刀
人工智能·python·面试
数智顾问38 分钟前
Java坐标转换的多元实现路径:在线调用、百度与高德地图API集成及纯Java代码实现——纯Java代码实现与数学模型深度剖析
java·开发语言
倔强青铜三41 分钟前
苦练Python第60天:json模块——让Python和JSON“无缝互译”的神兵利器
人工智能·python·面试
Ivanqhz1 小时前
RUST 静态生命周期和动态生命周期
开发语言
孤客网络科技工作室1 小时前
Python - 100天从新手到大师:第二十七天Python操作PDF文件
开发语言·python·pdf
liaojuajun1 小时前
可视化地图
开发语言·javascript·ecmascript
l1t1 小时前
在duckdb 1.4中编译和使用postgresql协议插件duckdb-pgwire
开发语言·数据库·c++·postgresql·插件·duckdb
m0_652545911 小时前
10.2总结
c语言·开发语言