pandas中的数据结构

pandas的数据结构Series和DataFream

        pandas的数据结构中有两大核心,分别是Series与DataFrame。其中Series是一维数组,Series可以保存多种数据类型的数据,如布尔值、字符串、数字类型等。DataFrame是一种二维的表格形式的数据结构,类似于Excel表格。

Series

Series对象

创建Series对象

在创建Series对象时,只需要将数组形式的数据传入Series对象的构造函数Series()中即可。如下所示:

import pandas as pd #导入pandas模块,并将pandas模块命名为pd
data = ["A","B","C","D"]#创建数组形式的数据data
s = pd.Series(data) #调用pandas模块中Series对象的构造方法Series()创建Series对象,并将data传入。
print(s)#打印Series对象内容

【运行结果】
在这里插入图片描述
【说明】上述运行结果中,左侧的数字0-3列为索引,右侧的字母A-D列为索引对应的元素。Series对象在没有指定索引时,将默认生成从0开始依次递增的索引值。


在创建Series对象时,是可以人为指定索引项的,例如指定索引项为a、b、c、d。示例代码如下:

import pandas as pd #导入pandas模块
data = ["A","B","C","D"]#创建数组形式的数据data
index00 = ["a","b","c","d"]#自定义索引
s = pd.Series(data,index=index00) #调用pandas模块中Series对象的构造方法Series()创建Series对象,并将data传入。将提前指定好的索引列index00赋值给index属性。
print(s)#打印Series对象内容

【运行结果】
在这里插入图片描述

获取Series对象中的数据
获取Series对象中的索引数组和元素数组

在访问Series对象中的数据时,可以单独访问索引数组或者是元素数组。


没有自定义索引项的时候,分别打印索引数组和数组元素的结果如下

import pandas as pd #导入pandas模块
data = ["A","B","C","D"]#创建数组形式的数据data
s = pd.Series(data) #调用pandas模块中Series对象的构造方法Series()创建>Series对象,并将data传入。
print("索引数组为:",s.index)#打印Series对象的索引数组
print("元素数组为:",s.values)#打印Series对象的元素数组

【运行结果】
在这里插入图片描述
【说明】
打印出的索引数组显示为: RangeIndex(start=0, stop=4, step=1) 意思是:范围索引(从0开始,以4为止,步长为1) 即:0,1,2,3,4。


自定义索引项的时候,分别打印索引数组和元素数组的结果如下

import pandas as pd #导入pandas模块
data = ["A","B","C","D"]#创建数组形式的数据data
index00 = ["a","b","c","d"]#自定义索引项
s = pd.Series(data,index=index00) #调用pandas模块中Series对象的构造方法Series()创建Series对象,并将data传入。将提前指定好的索引项index00赋值给index属性。
print("索引数组为:",s.index)#打印Series对象的索引数组
print("元素数组为:",s.values)#打印Series对象的元素数组

【运行结果】
在这里插入图片描述

获取指定索引所对应的数组元素

如果需要获取指定索引值的数组元素可以直接通过 Series对象[下标]或者Series对象["索引值"] 的方式进行数组对象的获取。


没有自定义索引项的情况下,下标默认从0开始。

import pandas as pd #导入pandas模块
data = ["A","B","C","D"]#创建数组形式的数据data
s = pd.Series(data) #调用pandas模块中Series对象的构造方法Series()创建>Series对象,并将data传入。
print("下标为0的数组元素为:",s[0])#打印下标为0对应的数组元素
print("下标为3的数组元素为:",s[3])#打印下标为3对应的数组元素

【运行结果】
在这里插入图片描述


自定义索引项的情况下获取数组元素,根据自定义的索引值自由获取。

import pandas as pd #导入pandas模块
data = ["A","B","C","D"]#创建数组形式的数据data
index00 =["a","b","c","d"]#自定义索引项
s = pd.Series(data,index=index00) #调用pandas模块中Series对象的构造方法Series()创建Series对象,并将data传入。将提前指定好的索引列index00赋值给index属性。
print("索引值为a的数组元素为:",s["a"])#打印索引值为a对应的数组元素
print("索引值为d的数组元素为:",s["d"])#打印索引值为d对应的数组元素

【运行结果】
在这里插入图片描述

获取多个索引值所对应的数组元素

1、如果需要获取多个索引值对应的数组元素时,可以指定下标范围

import pandas as pd #导入pandas模块
data = ["A","B","C","D"]#创建数组形式的数据data
index00 =["a","b","c","d"]#自定义索引项
s = pd.Series(data,index=index00) #调用pandas模块中Series对象的构造方法Series()创建Series对象,并将data传入。将提前指定好的索引列index00赋值给index属性。
print("通过指定下标范围打印索引值为b到c的数组元素为:\n",s[1:2])#通过指定下标范围打印索引值b到c所对应的数组元素

【运行结果】
在这里插入图片描述


2、如果需要获取多个索引值对应的数组元素时,可以通过指定多个索引的方式获取Series对象[["索引值m","索引值n",...]]

import pandas as pd #导入pandas模块
data = ["A","B","C","D"]#创建数组形式的数据data
index00 =["a","b","c","d"]#自定义索引
s = pd.Series(data,index=index00) #调用pandas模块中Series对象的构造方法Series()创建Series对象,并将data传入。将提前指定好的索引列index00赋值给index属性。
print("索引值为b、a、d的数组元素分别为:\n",s[["b","a","d"]])#打印索引值为b、a、d分别对应的数组元素。

【运行结果】
在这里插入图片描述

修改元素值

在修在Series对象的元素值时,同样可以通过指定下标或者指定索引的方式来实现。Series对象[下标]=值 或 Series对象["索引值"]=值

import pandas as pd #导入pandas模块
data = ["A","B","C","D"]#创建数组形式的数据data
index00 =["a","b","c","d"]#自定义索引值
s = pd.Series(data,index=index00) #调用pandas模块中Series对象的构造方法Series()创建Series对象,并将data传入。将提前指定好的索引列index00赋值给index属性。
s[0]="E" #将下标为0的元素值修改为E
print("将下标为0的元素值修改为E:\n",s)
s["b"]="F" #将索引值为b的元素值修改为F
print("将索引值为b的元素值修改为F:\n",s)

【运行结果】

在这里插入图片描述

DataFrame

DataFrame对象

创建DataFrame对象

        在创建DataFrame对象时,需要通过字典来实现DataFrame对象的创建。将字典形式的数据传入DataFrame对象的构造函数DataFrame()中即可。字典形式的数据中每列的名称为键,而每个键对应的是一个数组,这个数组作为值。如下所示:

import pandas as pd #导入pandas模块
#创建字典形式的数据
data = {"A":[1,2,3],
        "B":[4,5,6],
        "C":[7,8,9],}
#将数据传入DataFrame的构造方法DataFrame()中来创建DataFrame对象
data_frame = pd.DataFrame(data)
#打印创建好的DataFrame对象
print(data_frame)

【运行结果】
在这里插入图片描述
【说明】
运行结果中左侧单独的数字列为索引,在没有指定特定的索引时,DataFrame对象默认的索引将从0开始递增。右侧A、B、C列名为键,列名下方对应的数组为值。


在创建DataFrame对象时可以单独指定索引名称,指定方式与Series对象类似。实例如下:

import pandas as pd #导入pandas模块
#创建字典形式的数据
data = {"A":[1,2,3],
       "B":[4,5,6],
       "C":[7,8,9],}
#自定义索引
index00 = ["e","f","g"]
#将数据传入DataFrame的构造方法DataFrame()中来创建DataFrame对象。>并将自定义好的索引index00赋值给index属性
data_frame = pd.DataFrame(data,index=index00)
#打印创建好的DataFrame对象
print(data_frame)

【运行结果】
在这里插入图片描述


**如果创建好了字典数据之后,不想让DataFrame对象中完全包含字典里的数据,可以在创建DataFrame对象时指定需要的数据的列名来创建DataFrame对象。**示例如下:

import pandas as pd #导入pandas模块
#创建字典形式的数据
data = {"A":[1,2,3],
       "B":[4,5,6],
      "C":[7,8,9],}
#将指定列名的数据传入DataFrame的构造方法DataFrame()中来创建>DataFrame对象。
data_frame = pd.DataFrame(data,columns=["B","C"])
#打印创建好的DataFrame对象
print(data_frame)

【运行结果】
在这里插入图片描述

DataFrame对象中的增、删、改、查操作

DataFrame对象是pandas模块中最常用的对象,该对象所呈现出的数据与Excel表格相似。所以在实现数据的统计与分析前需要了解如何操作DataFrame对象中的各种数据,例如数据的增、删、改、查等。

增添数据

方法:DataFrame对象[列名] = [数据值1,数据值2,数据值3,......]
案例:创建一个DataFrame对象,并向DataFrame对象中添加一条数据。

#案例:向DataFrame对象中增加数据
# 解法:1、先创建出DataFrame对象 2、按照格式向DataFrame对象中添加数据
import pandas as pd;#导入pandas数据统计模块
#1、创建DataFrame对象.(步骤:①、创建字典样式的数据(键值对.键:列名;值:数组)②、将创建>好的数据传入DataFrame对象的构造方法中,返回DataFrame对象)
   #①、创建字典样式的数据
data = {
   'A':[1,2,3],
   'B':[4,5,6],
   'C':[7,8,9]
}
   #②、将字典样式的数据传入DataFrame的构造方法DataFrame()中,返回DataFrame对象
data_fram = pd.DataFrame(data)
#2、向DataFrame对象中增加数据
data_fram['D']=[10,11,12]#向DataFrame对象中增添了一条D列数据
print(data_fram)

【运行结果】
在这里插入图片描述
【说明】显然D列数据被添加进去了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立志Java工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值