python与pandas关系_Python之pandas操作

Pandas是Python的核心数据分析库,提供高效的数据结构如Series和DataFrame,用于处理表格、时间序列和矩阵数据。它支持缺失数据处理、数据对齐、分组、合并、重塑等多种操作,广泛应用于金融等领域,并且是statsmodels的依赖。本文介绍了Pandas的主要功能和使用示例。

Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年不懈的努力,Pandas 离这个目标已经越来越近了。

Pandas 适用于处理以下类型的数据:

与 SQL 或 Excel 表类似的,含异构列的表格数据;

有序和无序(非固定频率)的时间序列数据;

带行列标签的矩阵数据,包括同构或异构型数据;

任意其它形式的观测、统计数据集, 数据转入 Pandas 数据结构时不必事先标记。

Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。对于 R 用户,DataFrame 提供了比 R 语言 data.frame 更丰富的功能。Pandas 基于 NumPy 开发,可以与其它第三方科学计算支持库完美集成。

Pandas 就像一把万能瑞士军刀,下面仅列出了它的部分优势 :

处理浮点与非浮点数据里的缺失数据,表示为 NaN;

大小可变:插入或删除 DataFrame 等多维对象的列;

自动、显式数据对齐:显式地将对象与一组标签对齐,也可以忽略标签,在 Series、DataFrame 计算时自动与数据对齐;

强大、灵活的分组(group by)功能:拆分-应用-组合数据集,聚合、转换数据;

把 Python 和 NumPy 数据结构里不规则、不同索引的数据轻松地转换为 DataFrame 对象;

基于智能标签,对大型数据集进行切片、花式索引、子集分解等操作;

直观地合并(merge)、**连接(join)**数据集;

灵活地重塑(reshape)、**透视(pivot)**数据集;

轴支持结构化标签:一个刻度支持多个标签;

成熟的 IO 工具:读取文本文件(CSV 等支持分隔符的文件)、Excel 文件、数据库等来源的数据,利用超快的 HDF5 格式保存 / 加载数据;

时间序列:支持日期范围生成、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列功能。

这些功能主要是为了解决其它编程语言、科研环境的痛点。处理数据一般分为几个阶段:数据整理与清洗、数据分析与建模、数据可视化与制表,Pandas 是处理数据的理想工具。

其它说明:

Pandas 速度很快。Pandas 的很多底层算法都用 Cython 优化过。然而,为了保持通用性,必然要牺牲一些性能,如果专注某一功能,完全可以开发出比 Pandas 更快的专用工具。

Pandas 是 statsmodels 的依赖项,因此,Pandas 也是 Python 中统计计算生态系统的重要组成部分。

Pandas 已广泛应用于金融领域。

#数据结构

维数名称描述

1

Series

带标签的一维同构数组

2

DataFrame

带标签的,大小可变的,二维异构表格

小示例:

1. 列举目录下文件的名称并写入文件中

import pandas aspd

import os

dir_path= './event-data'names=os.listdir(dir_path)

result=[]for name innames:if name.endswith('.csv'):

result.append(name)

pd_result=pd.DataFrame(result)

pd_result.to_csv('names.csv', encoding='utf-8-sig') # utf-8-sig编码可以避免名称有中文时乱码

2. 将目录下多个文件中的数据进行合并

import pandas aspd

import os

dir_path= './event-data'names=os.listdir(dir_path)

file_merge=pd.DataFrame()for name innames:

print(name)if name.endswith('.csv'):

df=pd.read_csv(os.path.join(dir_path, name))

file_merge=file_merge.append(df)

file_merge.to_csv('event-data.csv', index=None)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值