
可以通过b['state']和bstate这两种方法进行,输出的pandas里面的Series这种数据类型。
索引,使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。 在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。
索引,使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,例如employee表的姓名列。如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引会帮助您更快地获得该信息。
在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。
索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。
DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。DataFrame既有行索引,也有列索引,它可以看作是由Series组成的字典,不过这些Series公用一个索引。
DataFrame的创建有多种方式,不过最重要的还是根据dict进行创建,以及读取csv或者txt文件来创建。这里主要介绍这两种方式。
根据字典创建
DataFrame的行索引是index,列索引是columns,我们可以在创建DataFrame时指定索引的值:
使用嵌套字典也可以创建DataFrame,此时外层字典的键作为列,内层键则作为索引:
我们可以用index,columns,values来访问DataFrame的行索引,列索引以及数据值,数据值返回的是一个二维的ndarray
读取文件
读取文件生成DataFrame最常用的是read_csv,read_table方法。该方法中几个重要的参数如下所示:
其他创建DataFrame的方式有很多,比如我们可以通过读取mysql或者mongoDB来生成,也可以读取json文件等等,这里就不再介绍。
在DataFrame的处理中经常会遇到轴的概念,这里先给大家一个直观的印象,我们所说的axis=0即表示沿着每一列或行标签\索引值向下执行方法,axis=1即表示沿着每一行或者列标签模向执行对应的方法。
索引、切片
我们可以根据列名来选取一列,返回一个Series:
我们还可以选取多列或者多行:
当然,在选取数据的时候,我们还可以根据逻辑条件来选取:
pandas提供了专门的用于索引DataFrame的方法,即使用ix方法进行索引,不过ix在最新的版本中已经被废弃了,如果要是用标签,最好使用loc方法,如果使用下标,最好使用iloc方法:
修改数据
可以使用一个标量修改DataFrame中的某一列,此时这个标量会广播到DataFrame的每一行上:
也可以使用一个列表来修改,不过要保证列表的长度与DataFrame长度相同:
可以使用一个Series,此时会根据索引进行精确匹配:
重新索引
使用reindex方法对DataFrame进行重新索引。对DataFrame进行重新索引,可以重新索引行,列或者两个都修改,如果只传入一个参数,则会从新索引行:
填充数据只能按行填充,此时只能对行进行重新索引:
丢弃指定轴上的值
可以使用drop方法丢弃指定轴上的值,不会对原DataFrame产生影响
算术运算
DataFrame在进行算术运算时会进行补齐,在不重叠的部分补足NA:
可以使用fill_value方法填充NA数据,不过两个df中都为NA的数据,该方法不会填充:
函数应用和映射
numpy的元素级数组方法,也可以用于 *** 作Pandas对象:
另一个常见的 *** 作是,将函数应用到由各列或行所形成的一维数组上。DataFrame的apply方法即可实现此功能。
元素级的Python函数也是可以用的,使用applymap方法:
排序和排名
对于DataFrame,sort_index可以根据任意轴的索引进行排序,并指定升序降序
DataFrame也可以按照值进行排序:
汇总和计算描述统计
DataFrame中的实现了sum、mean、max等方法,我们可以指定进行汇总统计的轴,同时,也可以使用describe函数查看基本所有的统计项:
DataFrame也实现了corr和cov方法来计算一个DataFrame的相关系数矩阵和协方差矩阵,同时DataFrame也可以与Series求解相关系数。
处理缺失数据
Pandas中缺失值相关的方法主要有以下三个:
isnull方法用于判断数据是否为空数据;
fillna方法用于填补缺失数据;
dropna方法用于舍弃缺失数据。
上面两个方法返回一个新的Series或者DataFrame,对原数据没有影响,如果想在原数据上进行直接修改,使用inplace参数:
对DataFrame来说,dropna方法如果发现缺失值,就会进行整行删除,不过可以指定删除的方式,how=all,是当整行全是na的时候才进行删除,同时还可以指定删除的轴。
DataFrame填充缺失值可以统一填充,也可以按列填充,或者指定一种填充方式:
如果用for来遍历,pandas比普通的python程序还要慢
试试Seriesapply函数来调用do_some_things_with_time,自然就得到了一个新的处理过的time列
dftime2=dftimeapply(do_some_things_with_time)
或者直接赋值给dftime也行
上一节《 Pandas入门3 -- Series基本 *** 作 》
如前所述,Series是用于表示一维数据的类,那带标签(Label)的二维数据如何表示呢?答案:用DataFrame类
你可以把 DataFrame想象成一个电子表格,它由行名(index)、列名(columns)和数据(values)组成,如下所示
在Pandas中,DataFrame类的列(column)类型是Series,又可以把DataFrame看做Series的列表(list)
创建方式一,由Series作为键值的字典创建
d = {"A":pdSeries([1,4,7],['1','2','3']),\
"B":pdSeries([2,5,8],['1','2','3']),\
"c":pdSeries([3,6,9],['1','2','3'])}
df=pdDataFrame(d)
运行效果如下,“A”,“B”,“C” 是列名(columns),'1','2','3'是行名(index),中间区域是数据(values)
创建方式二,由list作为键值的字典创建
创建方式三,由二维NumPy ndarray类型创建
这里,补充一下Numpy中 Data type objects 的缩略字符的知识
'>' (big-endian), '<' (little-endian), '='(hardware-native, the default)用于指定字节顺序
下一节,将介绍DataFrame类的基本 *** 作1
以上就是关于python 中sort—values函数全部的内容,包括:python 中sort—values函数、pandas常用函数汇总、python 怎么取dataframe的索引值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)