Pandas数据结构

在这里插入图片描述

Pandas数据结构

Pandas有两个最主要也是最重要的数据结构: SeriesDataFrame

类型描述
Series一维的数据结构。
DataFrame二维的、表格型的数据结构。

数据结构—Series

Series是一个类似一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构成,函数如下:

pandas.Series( data, index, dtype, name, copy)

参数说明:

  • data:一组数据(ndarray 类型)。
  • index:数据索引标签,如果不指定,默认从 0 开始
  • dtype:数据类型,默认会自己判断。
  • name:设置名称。
  • copy:拷贝数据,默认为 False

注意:
Series的索引位于左边,数据位于右边。

indexelement
01
12
23
34
45

Series的创建方式

Pandas的Series类对象可以使用以下构造方法创建:

class pandas.Series(data = None,index = None,dtype = None,
name = None,copy = False,fastpath = False

data:表示传入的数据
index:表示索引唯一且与数据长度相等,默认会自动创建一个从0~N的整数索引。

通过传入一个列表来创建一个Series类对象:

# 创建Series类对象
ser_obj = pd.Series([1, 2, 3, 4, 5])
# 创建Series类对象,并指定索引
ser_obj = pd.Series([1, 2, 3, 4, 5], 
index=['a', 'b', 'c', 'd', 'e'])

除了使用列表构建Series类对象外,还可以使用dict进行构建。

year_data = {2001: 17.8, 2002: 20.1, 2003: 16.5}
ser_obj2 = pd.Series(year_data)

使用索引和获取数据

为了能方便地操作Series对象中的索引和数据,所以该对象提供了两个属性indexvalues分别进行获取。

# 获取ser_obj的索引
ser_obj.index
# 获取ser_obj的数据
ser_obj.values

当然,我们也可以直接使用索引获取数据

# 获取位置索引3对应的数据
ser_obj[3]

当某个索引对应的数据进行运算以后,其运算的结果会替换原数据,仍然与这个索引保持着对应的关系。

ser_obj * 2

在这里插入图片描述

运算

数据结构—DataFrame

DataFrame是一个类似于二维数组表格(如excel)的对象,它每的数据可以是不同的数据类型。

注意:
DataFrame的索引不仅有行索引,还有列索引,数据可以有多列。

在这里插入图片描述

DataFrame

DataFrame的创建方式

Pandas的DataFrame类对象可以使用以下构造方法创建:

pandas.DataFrame(data = None,index = None,columns = None,
dtype = None,copy = False

index:表示行标签。若不设置该参数,则默认会自动创建一个从0~N的整数索引。
columns列标签

通过传入数组来创建DataFrame类对象:

# 创建数组
demo_arr = np.array([['a', 'b', 'c'], 
			         ['d', 'e', 'f']])
# 基于数组创建DataFrame对象
df_obj = pd.DataFrame(demo_arr)

在创建DataFrame类对象时,如果为其指定了列索引,则DataFrame的列会按照指定索引的顺序进行排列

df_obj = pd.DataFrame(demo_arr, columns=['No1', 'No2', 'No3'])
indexNo1No2No3
0abc
1def

使用列索引或访问属性获取数据

我们可以使用列索引的方式来获取一列数据,返回的结果是一个Series对象。

# 通过列索引的方式获取一列数据
element = df_obj['No2']
# 查看返回结果的类型
type(element)#pandas.core.series.Series

我们还可以使用访问属性的方式来获取一列数据,返回的结果是一个Series对象。

# 通过属性获取列数据
element = df_obj.No2
# 查看返回结果的类型
type(element)#pandas.core.series.Series

在这里插入图片描述

注意:
获取DataFrame的一列数据时,推荐使用列索引的方式完成,主要是因为在实际使用中,列索引的名称中很有可能带有一些特殊字符(如空格),这时使用“点字符”进行访问就显得不太合适了。

增加列

要想为DataFrame增加一列数据,则可以通过给列索引或者列名称赋值的方式实现。

# 增加No4一列数据
df_obj['No4'] = ['g', 'h']

删除列

要想删除某一列数据,则可以使用del语句实现。

# 删除No3一列数据
del df_obj['No3']

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小张不咕咕

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

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

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

打赏作者

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

抵扣说明:

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

余额充值