| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Python 中Dataframe初步理解,探讨参数Data,切片函数loc和iloc含义和应用,适合初学者 -> 正文阅读 |
|
[人工智能]Python 中Dataframe初步理解,探讨参数Data,切片函数loc和iloc含义和应用,适合初学者 |
Dataframe是pandas的模块最具代表的数据结果,其作用之强大溢于言表,下面我们分几个最常用的说一下. ?Dataframe中的切片loc,iloc;? ? ? ? import pandas as pd ????????我们先说loc,基本上loc会了,iloc知道原理后自然就会了, 他们俩是一致的; ? ? ? ? Dataframe的定义和初始话,直接上几个例子更直接: ---------------------------------------------------------------1---------------------------------------------------------------------------------------------------------------- ????????????????source=[[1,2,3],[4,5,6],[7,8,9]]? ????????????????col_arr=[‘a’,'b','c'] ????????????????row_arr = ['aa','bb','cc']? ?? ????????????????df = pd.Dataframe(data=source,columns=col_arr,index=row_arr) ???????????
---------------------------------------------------------------2---------------------------------------------------------------- ? ? ? ? ? ? df = pd.Dataframe(data=source,columns=col_arr) ? ? ? ? 如果没有设置行索引或者列所以,Dataframe将会自动用0,1,2,3...作为自动的行列索引 ????????????????
---------------------------------------------------------------3---------------------------------------------------------------- ????????df = pd.Dataframe(data=source)
????????Dataframe的data参数,有一下几个类型:元组,列表,字典 ? ? ? ? 当是一维元组的时候:df = pd.Dataframe(data=(1,2,3)) ????????当是一维列表的时候:df = pd.Dataframe(data=[1,2,3]) ????????当是二维元组的时候:df = pd.Dataframe(data=((1,2,3))) ????????当是二维列表的时候:df = pd.Dataframe(data=[[1,2,3]]) ?可以看出当都是一维的时候,参数data是元组还是列表,他俩构成的Dataframe都是一致的,可以混用 但是当都是二维的时候,元组表现出来的还是一列,但是列表确实一行,这就是区别,知道区别了,自己慢慢体会下,((1,2,3),(4,5,6)) 和[[1,2,3],[4,5,6]]分别可以构成什么样的矩阵呢?大家可以自己试一下。 ? 让大家纳闷的是,结果并不是按照上面能推理出来的,二维的元组和列表构建成的Dataframe的矩阵看起来又是一样的。记住,知道怎么用就OK了,没必要知道为什么。-_- 在说一下参数data是字典的情况:????????pd.DataFrame(data={'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]}) 对于这种{'a':xx,'b':xx}字段作为data的参数,字典的key就是列索引名,如果没有指定index的话,行所以就是默认的0,1,2,3... 提醒一下,这个时候就不能指定列索引(columns)了,否则会error ?还有一些list和Dictionary,元组混合作为参数的,大家有兴趣可以自己试一下 初始化讲完了,我们来看下具体用法。 ? ? ? ? Dataframe可以理解为是二维矩阵,或者说是一个二维数组,loc最大的作用就是标记了这个二维矩阵行索引和列索引,因为可以更好的对这个二维数字进行分析和切割; loc的定义是?loc[rows_index,columns_index] 如果想取矩阵中某一个元素, df.loc['aa','b']? #返回 2 我们列举了一下几个功能:拿上面初始化第一个例子说一下
? ? ? ? 取一行数据?
?看code找规律,我想这个很简单,总结一下就是 ? ? ? ? ? ? ? ? 1.? ? ? ? loc只有第一个参数,第二个参数是空,或者: 表示是取一行的数据,第一个参数就是行索引的索引名 ? ? ? ? ? ? ? ? 2.? ? ? ? 第一个参数是单索引名,返回时series类型的数据集,当时用[]list集合时,返回的是Dataframe的数据集 ? ?同样的方法我们取一列:
? ? ? ? ? ?同样找到一些规律: ? ? ? ? ? ? ? ? 1.? ? ? ? 第一个参数一定要有:,表示是所有的行 ? ? ? ? ? ? ? ? 2.? ? ? ? 第二个参数可以是一个单索引名,返回时series类型的数据集, ? 当时用[]list集合时,返回的是Dataframe的数据集?? 单行单列都知道怎么取,那多行多列更简单了,无非就是用[]list,多加行或者列的索引,因为是list作为参数,取出来的是Dataframe类型的数据集 例如:
说完loc,大致有点了解,那么iloc就容易多了 我们知道loc是通过用户自定义行或者系统自定义列索引来进行对矩阵做分析和处理的,那iloc则不是,他是通过0,1,2,3...数字的形式
Dataframe的支持点很多,具体还是要实体操作一下才知道他的强大,本人第一次写东西记录一下,有错误的地方希望给与指出,一起进步,谢谢-__-? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/27 2:30:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |