IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Python结构化数据分析工具Pandas之数据结构 -> 正文阅读

[人工智能]Python结构化数据分析工具Pandas之数据结构

Pandas是数据分析工具,那我们要思考的是,它能分析什么样的数据?所分析的数据需要具备什么样的结构呢?基于此,我们主要分为三个部分来讲:

  • 1.Pandas数据结构
  • 2.数据结构—Series
  • 3.数据结构—DataFrame

1. Pandas数据结构

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

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

2. 数据结构—Series

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

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

参数说明:

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

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

indexelement
01
12
23
34
45

2.1 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)

2.2 使用索引和获取数据

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

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

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

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

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

ser_obj * 2

在这里插入图片描述

运算

3. 数据结构—DataFrame

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

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

在这里插入图片描述

DataFrame

3.1 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

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

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

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

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

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

在这里插入图片描述

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

3.3 增加列

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

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

3.4 删除列

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

# 删除No3一列数据
del df_obj['No3']
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:26:47  更:2022-04-24 09:27:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:53:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码