【Python基础】Pandas笔记---概述与数据结构

机器学习初学者

共 2593字,需浏览 6分钟

 ·

2020-08-14 18:36

点击上方“潜心的Python小屋”关注我们,第一时间推送优质文章。

前言

大家好,我是潜心。因为最近做实验发现Pandas的数据处理技术忘记了,所以准备系统的概述一下Pandas的使用方法。

本文约1.5k字,预计阅读5分钟。

Pandas概览

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

数据结构

Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。

为什么要有两个数据结构? 因为Pandas 数据结构就像是低维数据的容器。比如,DataFrame 是 Series 的容器,Series 则是标量的容器。使用这种方式,可以在容器中以字典的形式插入或删除对象。

Pandas 里,的概念主要是为了给数据赋予更直观的语义,即用“更恰当”的方式表示数据集的方向。

Series

Series是带标签的一维数组,可存储整数、浮点数、字符串、Python 对象等类型的数据,轴标签统称为索引

创建Series对象:

s = pd.Series(data=None, index=None)

其中,data可以为:数组、字典、标量等,index可选,长度必须与data一致,默认为数值型索引。

导入包:

import pandas as pd
import numpy as np

例:

In[5]: pd.Series([12345])
Out[5]: 
0    1
1    2
2    3
3    4
4    5
dtype: int64
  
In[6]: d = {'a':1'b':2'c':3}
In[7]: pd.Series(d)
Out[7]: 
a    1
b    2
c    3
dtype: int64

Dataframe

DataFrame 是由多种类型的列构成的二维标签数据结构, 是最常用的 Pandas 对象。

创建DataFrame对象:

df = pd.DataFrame(data=None, index=None, columns=None, dtype=None)

其中,data可以为:一维二维的ndarray、列表、字典等,index为行标签(索引),columns为列标签(特征),dtype为对象类型。

例:

In[8]: d = {'one': pd.Series([1.2.3.], index=['a''b''c']), 'two': pd.Series([1.2.3.4.], index=['a''b''c''d'])}
In[9]: pd.DataFrame(d)
Out[9]: 
   one  two
a  1.0  1.0
b  2.0  2.0
c  3.0  3.0
d  NaN  4.0

In[10]: l = [[123], [456]]
In[11]: pd.DataFrame(l, columns=['a''b''c'])
Out[11]: 
   a  b  c
0  1  2  3
1  4  5  6

大小可变与数据复制

Pandas 所有数据结构的值都是可变的,但数据结构的大小并非都是可变的,比如,Series 的长度不可改变,但 DataFrame 里就可以插入列。

Pandas 里,绝大多数方法都不改变原始的输入数据,而是复制数据,生成新的对象。一般来说,原始输入数据不变更稳妥。所以大多数方法都是返回一个对象,若不进行复制,那原对象不会进行改变。

In[12]: df1 = pd.DataFrame(d)
In[13]: df2 = df1.transpose()
In[14]: df1
Out[14]: 
   one  two
a  1.0  1.0
b  2.0  2.0
c  3.0  3.0
d  NaN  4.0
In[15]: df2
Out[15]: 
       a    b    c    d
one  1.0  2.0  3.0  NaN
two  1.0  2.0  3.0  4.0

Pandas优势

Pandas的优势部分包括如下:

  • 处理浮点与非浮点数据里的缺失数据,表示为 NaN
  • 大小可变:插入或删除 DataFrame 等多维对象的列;
  • 自动、显式数据对齐:显式地将对象与一组标签对齐,也可以忽略标签,在 Series、DataFrame 计算时自动与数据对齐;
  • 强大、灵活的分组(group by)功能:拆分-应用-组合数据集,聚合、转换数据;
  • 把 Python 和 NumPy 数据结构里不规则、不同索引的数据轻松地转换为 DataFrame 对象;
  • 基于智能标签,对大型数据集进行切片花式索引子集分解等操作;

总结

Pandas 速度很快,适用于各个数据分析领域,它的数据结构有SeriesDataFrame两种结构,实际中主要是对DataFrame对象进行处理分析。接下来会根据各个实例数据集,如:鸢尾花、红酒、乳腺癌数据集进行实际操作,巩固Pandas数据分析技术。

参考文献

[1]. Pandas中文文档: https://www.pypandas.cn/docs/getting_started/overview.html



往期精彩回顾





获取一折本站知识星球优惠券,复制链接直接打开:

https://t.zsxq.com/662nyZF

本站qq群1003271085。

加入微信群请扫码进群(如果是博士或者准备读博士请说明):

浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报