Pandas库--数据结构
Pandas库--数据结构
引入Pandas包
import pandas as pd
Pandas数据结构
python的pandas库中数据结构有:
-
Series:
一维数组,与Numpy中的一维array类似,主要是由数组元素和与之对应的索引构成。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。 -
Time- Series:
以时间为索引的Series。 -
DataFrame:
二维的表格型数据结构。可以将DataFrame理解为Series的容器。 -
Panel :
三维的数组,可以理解为DataFrame的容器。 -
Panel4D:
四维数据容器。 -
PanelND:
拥有factory集合,可以创建像Panel4D一样N维命名容器的模块。
其中在数据处理方面最主要的两个的数据结构是:Series和DataFrame
一维Series
Series是一个类似一维数组的,他能够保存任何类型的数据,最简单的就是由一个数组和与之对应默认的索引值(0~N)组成
创建对象
pd.Series(data=None,index=None,dtype=None,name=None,copy=False,fastpath=False)
其中:data是存放的数据;index是数据对应的索引值;dtype表示存放数据的类型(如int32、bool等);name为存入数据的名字;copy默认的值为false
(1)通过一维数组的方式创建
pd.Series([1,2,3,4,5])
运行的结果:
类似于一个对应索引值的表格
index | item |
---|---|
0 | 1 |
1 | 2 |
2 | 3 |
3 | 4 |
4 | 5 |
(2)通过字典的方式创建
>>> weather={20200803:'rain',20200804:'sun',20200805:'rain'} >>> pd.Series(weather) 20200803 rain 20200804 sun 20200805 rain dtype: object
练习:作出一个菜单如下图
pd.Series(["4 cups","1 cup","2 large","1 can"],index=["Flour","Milk","Eggs","Spam"],dtype="object",name="Dinner")
访问数据
除了使用数据进行构建Series对象外,还可以采用下面的方法来获取index与values值
>>> Dinner=pd.Series(["4 cups","1 cup","2 large","1 can"],index=["Flour","Milk","Eggs","Spam"],dtype="object",name="Dinner") #通过下标访问values的值 >>> Dinner[3] '1 can' #通过属性访问index/values的值 >>> Dinner.index Index(['Flour', 'Milk', 'Eggs', 'Spam'], dtype='object') >>> Dinner.values array(['4 cups', '1 cup', '2 large', '1 can'], dtype=object)
数据运算
当某个索引对应的数据进行运算以后,运算结果会替换原先的数据并且仍然对应着之前的索引
>>> yunsuan=pd.Series([1,2,3,4,5])>>> yunsuan 0 1 1 2 2 3 3 4 4 5 dtype: int64 >>> yunsuan*yunsuan 0 1 1 4 2 9 3 16 4 25 dtype: int64
二维/表格DataFrame
DataFrame是一个类似于二维数组或表格的对象。DataFrame不仅有行索引也同样有列索引。数据是可以有很多列的。
创建对象
pd.DataFrame(data=None,index=None,columns=None,dtype=None,copy=False)
其中:data是存放的数据;index是数据对应的行索引值(默认是一个从0~N的索引);而columns为列索引;dtype表示存放数据的类型(如int32、bool等);copy默认的值为false
练习:创建DataFrame如下图
fruits=pd.DataFrame({"Apples":[30],"Bananas":[21]}) >>> fruits Apples Bananas 0 30 21
访问数据
>>> element=fruits['Apples'] # 查看返回结果的类型 >>> type(element) <class 'pandas.core.series.Series'> # 得到的结果是一列Series对象 >>> element 0 30 Name: Apples, dtype: int64
增加数据
>>> fruits['Orange']=[20] >>> fruits Apples Bananas Orange 0 30 21 20
删除数据
>>> del fruits['Orange'] >>> fruits Apples Bananas 0 30 21
- 数据结构与算法
- 浅析数据结构与算法3--合并排序
- 数据结构——单向链表的顺序存储及实现
- 数据结构——建立顺序表
- 数据结构-图
- 数据结构概述
- 数据结构线性表双向链表
- 数据结构与算法之排序
- 数据结构(二叉树)C#描述
- 【2136】数据结构实验之二叉树的建立与遍历 SDUTOJ
- 数据结构之图
- 【转】数据结构中栈和堆---内存分配中栈和堆
- 02-线性结构1 一元多项式的乘法与加法运算[网易云课堂-数据结构]
- redis内存编码数据结构(整数集合、压缩列表)
- java代码删除数据库中树形结构数据
- Sicily 1021 Couples(数据结构——栈)
- 数据结构中的C语言基础,送给正在刷王道的考研党~
- 3dTiles 数据规范详解[4.2] i3dm瓦片二进制数据文件结构
- 数据结构实验之查找四:二分查找
- 数据结构——冒泡排序