Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据分析利器--Pandas

数据分析利器--Pandas

作者头像
K同学啊
发布于 2019-01-22 03:12:57
发布于 2019-01-22 03:12:57
3.9K00
代码可运行
举报
运行总次数:0
代码可运行

1、前言

pandas是python数据分析中一个很重要的包;

在学习过程中我们需要预备的知识点有:DataFrame、Series、NumPy、NaN/None;

2、预备知识点详解

  • NumPy详解:标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的1,2,3,需要有3个指针和三个整数对象。对于数值运算来说这种结构显然比较浪费内存和CPU计算时间。NumPy的诞生弥补了这些不足,NumPy提供了两种基本的对象:ndarray(N-dimensional array object)和 ufunc(universal function object)。ndarray是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。(参考:Python 科学计算 – Numpy
  • Series: Series是一个一维的类似的数组对象,包含一个数组的数据(任何NumPy的数据类型)和一个与数组关联的数据标签,被叫做 索引。(参考:Series与DataFrame
  • DataFrame:一个Datarame表示一个表格,类似电子表格的数据结构,包含一个经过排序的列表集,它们每一个都可以有不同的类型值(数字,字符串,布尔等等)。Datarame有行和列的索引;它可以被看作是一个Series的字典(每个Series共享一个索引)。与其它你以前使用过的(如R 的 data.frame)类似Datarame的结构相比,在DataFrame里的面向行和面向列的操作大致是对称的。在底层,数据是作为一个或多个二维数组存储的,而不是列表,字典,或其它一维的数组集合。因为DataFrame在内部把数据存储为一个二维数组的格式,因此你可以采用分层索引以表格格式来表示高维的数据。(参考:Series与DataFrame
  • NaN/None: python原生的None和pandas, numpy中的numpy.NaN尽管在功能上都是用来标示空缺数据。但它们的行为在很多场景下确有一些相当大的差异。(参考:NaN 和None 的详细比较

3、pandas详解

3.1 简介:

pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。pandas提供了快速,灵活和富有表现力的数据结构,目的是使“关系”或“标记”数据的工作既简单又直观。它旨在成为在Python中进行实际数据分析的高级构建块。

3.2 pandas的安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install pandas

3.3 核心数据结构

pandas最核心的就是Series和DataFrame两个数据结构。

名称

维度

说明

Series

1维

带有标签的同构类型数组

DataFrame

2维

表格结构,带有标签,大小可变,且可以包含异构的数据列

DataFrame可以看做是Series的容器,即:一个DataFrame中可以包含若干个Series。更详细的解释参考:Series与DataFrame

3.4 读取CSV文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data = pd.read_csv("fileName.csv")

read_csv()中可以用的参数:

参数

说明

path

文件路径

sep或者delimiter

字段分隔符

header

列名的行数,默认是0(第一行)

index_col

列号或名称用作结果中的行索引

names

结果的列名称列表

skiprows

从起始位置跳过的行数

na_values

代替NA的值序列

comment

以行结尾分隔注释的字符

parse_dates

尝试将数据解析为datetime。默认为False

keep_date_col

如果将列连接到解析日期,保留连接的列。默认为False。

converters

列的转换器

dayfirst

当解析可以造成歧义的日期时,以内部形式存储。默认为False

data_parser

用来解析日期的函数

nrows

从文件开始读取的行数

iterator

返回一个TextParser对象,用于读取部分内容

chunksize

指定读取块的大小

skip_footer

文件末尾需要忽略的行数

verbose

输出各种解析输出的信息

encoding

文件编码

squeeze

如果解析的数据只包含一列,则返回一个Series

thousands

千数量的分隔符

3.5处理无效值

这里需要掌握三个函数:

pandas.isna(): 判断哪些值是无效的

pandas.DataFrame.dropna(): 抛弃无效值

pandas.DataFrame.fillna(): 将无效值替换成为有效值

具体用法参照:处理无效值

4、Pandas常用函数

函数

用法

DataFrame.duplicated()

DataFrame的duplicated方法返回一个布尔型Series,表示各行是否重复行。

DataFrame.drop_duplicates()

它用于返回一个移除了重复行的DataFrame

DataFrame.fillna()

将无效值替换成为有效值

5、Pandas常用知识点

5.1 Dataframe写入到csv文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.to_csv('D:\\a.csv', sep=',', header=True, index=True)

第一个参数是说把dataframe写入到D盘下的a.csv文件中,参数sep表示字段之间用’,’分隔,header表示是否需要头部,index表示是否需要行号。

5.2 Dataframe写入到数据库中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.to_sql('tableName', con=dbcon, flavor='mysql')

第一个参数是要写入表的名字,第二参数是sqlarchmy的数据库链接对象,第三个参数表示数据库的类型,“mysql”表示数据库的类型为mysql。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年06月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
pandas入门教程
pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对它的一个入门教程。
昱良
2018/11/06
2.4K0
数据分析 | 一文了解数据分析必须掌握的库-Pandas
呆鸟云:“看了好久 Pandas 代码,先简单了解一下,到底什么是 Pandas 吧,看看它到底能干什么?如果想了解更多 Pandas,请关注 pypandas.cn,查看最新版的 Pandas 中文官档。”
龙哥
2019/11/27
1.1K0
数据分析篇 | Pandas 概览
Pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。Pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年不懈的努力,Pandas 离这个目标已经越来越近了。
龙哥
2019/12/03
1.3K0
数据分析篇 | Pandas数据结构之DataFrame
DataFrame 是由多种类型的列构成的二维标签数据结构,类似于 Excel 、SQL 表,或 Series 对象构成的字典。DataFrame 是最常用的 Pandas 对象,与 Series 一样,DataFrame 支持多种类型的输入数据:
龙哥
2019/12/11
1.8K0
数据分析利器Pandas基本功能
---- 概述 pandas是基于Numpy构建的,让处理数据、分析数据和可视化数据都会变得更加简单,官网Pandas.正如官网所说: pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language. Pandas 数据结构 pandas中最主要的数
吕海峰
2018/04/03
1.3K0
Pandas 2.2 中文官方教程和指南(八)
我们将从一个快速、非全面的概述开始,介绍 pandas 中的基本数据结构,以帮助您入门。关于数据类型、索引、轴标签和对齐的基本行为适用于所有对象。要开始,请导入 NumPy 并将 pandas 加载到您的命名空间中:
ApacheCN_飞龙
2024/05/24
5050
Pandas 2.2 中文官方教程和指南(八)
数据分析-pandas库快速了解
Pandas是Python第三方库,提供高性能易用数据类型和分析工具,pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
叶子陪你玩
2020/05/28
1.2K0
Python数据分析之pandas基本数据结构
Python数据分析之numpy数组全解析 Python数据分析之Pandas读写外部数据文件
Ai学习的老章
2019/12/23
1.3K0
Python数据分析之pandas基本数据结构
利用Python进行数据分析笔记
本书讲的是利用Python进行数据控制、处理、整理、分析等方面的具体细节和基本要点。我的目标是介绍Python编程和用于数据处理的库和工具环境,掌握这些,可以让你成为一个数据分析专家。虽然本书的标题是“数据分析”,重点却是Python编程、库,以及用于数据分析的工具。这就是数据分析要用到的Python编程。
CtrlX
2023/03/21
5.3K0
利用Python进行数据分析笔记
Pandas数据分析包
Pandas是面板数据(Panel Data)的简写。它是Python最强大的数据分析和探索工具,因金融数据分析工具而开发,支持类似SQL的数据增删改查,支持时间序列分析,灵活处理缺失数据。 pandas的数据结构 Series Series是一维标记数组,可以存储任意数据类型,如整型、字符串、浮点型和Python对象等,轴标一般指索引。Series的字符串表现形式为:索引在左边,值在右边。 Series、Numpy中的一维Array、Python基本数据结构List区别:List中的元素可以是不
听城
2018/04/27
3.1K0
Pandas数据分析包
数据分析之pandas模块
  类似于一位数组的对象,第一个参数为数据,第二个参数为索引(索引可以不指定,就默认用隐式索引)
py3study
2020/01/17
1.2K0
【Python环境】Python中的结构化数据分析利器-Pandas简介
Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术
陆勤_数据人网
2018/02/27
15.4K0
Pandas必会的方法汇总,数据分析必备!
用Python做数据分析光是掌握numpy和matplotlib可不够,Pandas是必须要掌握的一个重点,numpy虽然能够帮我们处理处理数值型数据,但是这还不够,很多时候,我们的数据除了数值之外,还有字符串,还有时间序列等,比如:我们通过爬虫获取到了存储在数据库中的数据。
小F
2021/09/14
6.3K0
python数据分析之pandas包
相关系数和协方差唯一值值计数及成员资格处理缺失数据层次化索引数据透视生成重排分级次序根据级别汇总统计列索引转为行索引读取文件导出文件数据库风格的DataFrame合并pandas知识体系图
用户7886150
2020/12/26
1.2K0
python 数据分析工具包 pandas(一)
pandas 是专为 python 编程语言设计的高性能,简单易用的数据结构和数据分析工具库,它建立在 numpy 之上,可以许多第三方库完美集成在同一个科学计算环境中。pandas 被广泛应用于金融,统计,社会科学和许多工程技术领域,处理典型数据分析案例。
我是一条小青蛇
2019/10/23
9700
python 数据分析工具包 pandas(一)
Pandas数据处理——渐进式学习1、Pandas入门基础
Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。对于 R 用户,DataFrame 提供了比 R 语言 data.frame 更丰富的功能。Pandas 基于 NumPy 开发,可以与其它第三方科学计算支持库完美集成。
红目香薰
2023/02/17
2.4K0
Pandas数据处理——渐进式学习1、Pandas入门基础
Python可视化数据分析05、Pandas数据分析
Series是一种类似于一维数组的对象,它由一组数据以及一组与之相关的数据标签(索引)组成,创建Series对象的语法如下:
红目香薰
2022/11/30
2.7K0
Python可视化数据分析05、Pandas数据分析
科学计算库-Pandas随笔【附网络隐私闲谈】
但二者最大的不同是 pandas 是专门为处理表格和混杂数据设计的,比较契合统计分析中的表结构,而 numpy 更适合处理统一的数值数组数据。pandas数组结构有一维 Series 和二维 DataFrame 。
来杯Sherry
2023/05/25
3K0
科学计算库-Pandas随笔【附网络隐私闲谈】
python数据分析笔记——数据加载与整理
Python数据分析——数据加载与整理 总第47篇 ▼ (本文框架) 数据加载 导入文本数据 1、导入文本格式数据(CSV)的方法: 方法一:使用pd.read_csv(),默认打开csv文件。 9、
张俊红
2018/04/11
6.3K0
python数据分析笔记——数据加载与整理
Python 数据分析(PYDA)第三版(三)
读取数据并使其可访问(通常称为数据加载)是使用本书中大多数工具的必要第一步。术语解析有时也用于描述加载文本数据并将其解释为表格和不同数据类型。我将专注于使用 pandas 进行数据输入和输出,尽管其他库中有许多工具可帮助读取和写入各种格式的数据。
ApacheCN_飞龙
2024/05/24
5610
推荐阅读
相关推荐
pandas入门教程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验