Pandas 基础 1|学习笔记

简介: 快速学习 Pandas 基础 1

开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践Pandas 基础 1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1067/detail/15379


Pandas 基础 1

 

内容介绍

一、前言

二、pandas 的数据结构

三、pandas 的主要功能

 

一、前言

各位同学好,接下来继续来学习文本挖掘课程第二部分,Phthon数据科学包的有关内容,这次学习的是在数据科学里面用的最多的pandas包的使用,然后来看看pandas包的内容,因为给大家准备了八节内容,这些内容不会全部都讲解的,因为时间原因讲解其中一些重要的内容,但是同学们还是要把整个内容全部看一遍。

 

二、pandas 的数据结构

首先先看第一节pandas的基础,pandas的基础里面总共三个内容,然后第一个内容是pandas的基本数据结构,pandas的基本数据结构主要是有两种,一种叫serious就是系列,另一种是数据框。这个内容从下面自己去学习,但是在学习过程当中一定要注意这个pandas的数据结构,无论是 serious 还是数据框最大的特色就是索引,它与 pandas 的列表或者刚学过的numpy 的ady相比,pandas里面最强大的就是它的数据结构里面有索引和index x,有了它们以后就增加了很多强大的功能,大家在学习过程当中一定要体会这个index x的作用和价值。

 

三、pandas 的主要功能

那么下面来学第二个内容就是pandas的一些主要功能,那么来看pandas的主要功能介绍一些常用的,那么第一个功能是来学习一下pandas 里面的重新索引,那么它是在创建object的时候遵照一个新的 index ,它是以设施在创建 object 的时候遵照一个新的index ,所以看下面的例子,那么这也是构建一个 series ,然后从一个列表里面构建,然后指明了它的索引,然后对应位置来看一下,那么这左边这一列就是它的索引,它们会对应每一个元素。

In [1]:import pandas as pd

In [2]:obj =pd.Series([4.5, 7.2, -5.3, 3.6], index-['d', 'b', 'a', ’c'])obj

Out[2]:dba

-5.3

c 3.6

dtype:float64

在series上调用reindex能更改index,如果没有对应index就会引入缺失数据,然后指定索引是abc,然后看一下 obj ,对它进行重新索引,然后指定重新索引的是 abcde ,紧接着执行一下来看一下结果,那么a 原来是负5.3 ,那还是负5.3,b是7.2,那这个是调整一下索引的排序,然后原来里面没有d,那么现在又要一个顺应的 d ,但是它里面并没有值,所以他会引入一个缺失数据,换句话来说也就是重新建索引,那么它会看原来的索引,原来有的话还保留,重新调整一下顺序,那么如果没有就引入空值。

In[3]:obj2 = obj.reindex(['a', 6', c', , e])

obj2

Out[3]: a -5.3

b 7.2

C 3.6

D 4.5

e NaN

dtype:float64

在处理时间序列这样的数据时,可能需要在reindexing的时候需要修改值。method选项能做到这一点,比如设定method为ffil,那么来看一下下面一个例子,首先构建一个series obj 3,然后它的值是Pro purple,yellow,然后索引直接的0、2、4,那么运行一下。这个series最左边的这一列是它的索引。

In [4]: obj3 pd.Series(['bule’,'purple', ’yellow'], index=[0, 2, 4])

obj3

Out[4]:0 bule

2 purple

4 yellow

dtype: object

然后下面来重建索引,重建索引给定的值为 range(6),

然后使用了 method='ffill',它代表着向前填充,然后执行一下看一下结果,本来是0、2、4就是blue,purple,yellow,那现在是0~5了,那么1的索引没有值,如果不用 mthod 它就默认空,那现在用到一个 mthod 的方法向前填充,那就用它前面一个值来填充,所以三和五都是一样的。

这也就是在处理一些数据的时候,在reindexing的时候需要修改值,method选项能做到这一点。

In [5]: obj3.reindex(range(6), method='ffill') #ffill 向前填充

Out [5]:0 bule

1 bule

2 purple

345 purple

yellow

yellow

dtype:object

对工DataFrame,reindex能修改row index,或column index。数据框是二维的行的索引和列索引,然后下面看看实例,那么首先定义一个数据框,然后它是(np.arange(9),它就代表着0-8一共九个数据,并且reshape(3, 3),变成3/3三行三列的数据,然后指定到index和 columns ,index就是在行上面, columns在列上。然后来看一下结果,那么行上面的这个名字是acd 的索引,列上面就是指定的名字,index的名字就相当于是列的索引。

In [6]: import numpy as np

In [7]:frame = pd.DataFrame(hp.arange(9).reshape(3, 3),

index=['a, c', d'],

columns=['Ohio', 'Texas', 'California'])

In [8]: frame

Out [8]:

Ohio Texas California

a 0 1 2

c 3 4 5

d 6 7 8

然后来改变行索引,首先使用数据框xx点击 reindex ,然后给它指定几个索引的值,紧接着执行一下看效果,acd原来是有的还保留,那么b原来是没有这个索引所以它就需要用空值来进行填充了。

In [9]: frame2 = frame.reindex([C'a', 'b', 'c', d'])frame2

Out [9]:

Ohio Texas California

a 0.0 1.0 2.0

b NaN NaN NaN

C 3.0 4.0 5.0

d 6.0 7.0 8.0

那接下来在改变列的索引,然后指定的一个列表,它里面还有几个地址,然后frame.reindex(columns=states),然后执行一下看一下结果。原来有的还保留,然后如果说新的在原来里面没有的需要使用空值来填充。

In[10]:states ['Texas',’Utah', 'California'] In [11]:frame.reindex(columns=states)

Out[11]:

Texas Utah California

a  1    NaN    2

C  4    NaN    5

d  7    NaN    8

如果说大家要详细了解,通过帮助来获得reindex的一些功能,怎么去查它的参数,今天可以给大家演示一下,一种办法可以在reindex 函数光标在它的框里面,大家可以看到有它里面有很多参数。

另外一种办法是查询帮助,然后把这个copy一下,后面加个问号,然后就可以获取帮助,来看看这个帮助,由于很多不可能什么都记住了,什么都记住也不是一个好办法,在脑子里面需要有一个框架和逻辑,然后用的时候可以去查一下,那么要求去记也不可能的,然后用的时候再去查一下就可以了,然后还可以使用那些la c LOGO更简洁的一个v NEX的方法。

那么看一下数据框点LOGO,然后这个里面一个列表,列表是指定的几个索引,然后后面是在跟一个 states ,这个相当于是找一个行,然后 states 是列,紧接着运行看一下结果,找的是a,b,c,d这几行,这LOGO一般是定位的,那么可以指定在逗号的左边是行,逗号的右边是列。

In [13]:  frame.loc[['al, 'b', 'c', 'd'], states]

D:Anaconda3\lib\site-packages pandas core indexing.py:1418: FuturelWarning:

Passing list-likes to .loc or [] with any missing label will raise

KeyError in the future, you can use .reindex() as an alternative.

See the documentation here:

https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike return self._getitem_tuple(key)

Out[13]:

Texas Utah California

a  1.0  NaN  2.0

b  NaN  NaN  NaN

C  4.0  NaN  5.0

d  7.0  NaN  8.0

相关文章
|
9月前
|
机器学习/深度学习 决策智能 计算机视觉
Pandas库之DataFrame学习笔记
Pandas库之DataFrame学习笔记
111 0
|
12月前
|
数据处理 索引 Python
【Python】【Numpy+Pandas数据处理·闯关】和鲸社区学习笔记day(4)
【Python】【Numpy+Pandas数据处理·闯关】和鲸社区学习笔记day(4)
238 0
|
12月前
|
Java 数据处理 索引
【Python】【Numpy+Pandas数据处理·闯关】和鲸社区学习笔记day(3)
【Python】【Numpy+Pandas数据处理·闯关】和鲸社区学习笔记day(3)
140 0
|
12月前
|
SQL 存储 Java
【Python】【Numpy+Pandas数据处理·闯关】和鲸社区学习笔记day(2)
【Python】【Numpy+Pandas数据处理·闯关】和鲸社区学习笔记day(2)
223 0
|
12月前
|
SQL Java Go
【Python】【Numpy+Pandas数据处理·闯关】和鲸社区学习笔记day(1)
【Python】【Numpy+Pandas数据处理·闯关】和鲸社区学习笔记day(1)
261 0
|
资源调度 BI 项目管理
第一章 pandas预备知识(列表推导式与条件赋值、匿名函数与map方法、zip对象与enumerate方法、np基础 )
第一章 pandas预备知识(列表推导式与条件赋值、匿名函数与map方法、zip对象与enumerate方法、np基础 )
118 0
|
数据挖掘 数据处理 Python
python数据分析-pandas基础(4)-数据映射apply
apply函数的作用:就是用某个指定的函数f来依次作用于DataFrame或者Series的每个数据,可以指定按行处理和按列处理。
266 0
|
人工智能 算法 数据可视化
Pandas-统计|学习笔记
快速学习 Pandas-统计
158 0
|
机器学习/深度学习 人工智能 数据挖掘
Pandas 数据分析模块|学习笔记
快速学习 Pandas 数据分析模块
96 0
|
开发者 索引 Python
pandas 数据合并与整形 4|学习笔记
快速学习 pandas 数据合并与整形 4
65 1