今天咱们来继续讲解Python中的Pandas库的基本用法spa
那么咱们如何使用pandas对数据进行排序操做呢?3d
food.sort_values("Sodium_(mg)",inplace= True) print(food["Sodium_(mg)"]) food.sort_values("Sodium_(mg)",inplace=True,ascending= False) print(food["Sodium_(mg)"])
咱们对food,进行sort_values方法,会自动帮咱们排序,第一个参数"Sodium_(mg)"是咱们数据中的列名code
意思是说,你要对哪一列数据进行排序,inplace 参数的意思是,你须要生成一个新的数据,仍是在原来的基础上进行,能够经过该参数指定blog
而sort_values排序的时候,就默认从小到大进行排序。排序
那么咱们想作一个从大到小的排序如何作呢?索引
ascending这个参数,是指定一个排序升降序。在这里指定,默认该参数为True,也就是从小到大pandas
那么咱们在上面的代码中能够看到,ascending参数设置为Flase之后,便是从大到小it
下面咱们讲个点单的例子,泰坦尼克号小案例for循环
import pandas as pd import numpy as np titanic_survival = pd.read_csv("titanic_train.csv") titanic_survival.head()
我如今有一下一些数据,每一个值都表明不一样的含义,实际是一个船人员信息表,有价格,有年龄,有名字,有座位编号,等等一些数据table
下面咱们将年龄这一列进行数据处理,看看能获得什么结果,咱们先查看了一下,前十我的的年龄以下
发如今5号人,的年龄为NAN,也就是说,这个数据为空,或者数据丢失。咱们来对这个缺失值进处理
咱们经过isnull方法,对数据进行判断,判断值是否为空。能够看到为True的说明数据丢失了
而后咱们将这个为空的数据做为索引,能够找到所有数据中,数据丢失的值
那咱们如今统计一下,有多少个数据丢失了,能够用len方法。统计数据为空的值,为177就能够获得177个数据为空的值
咱们获得了缺失值后,要对缺失值进行处理
那么我先对数据没有作缺失值处理的状况下,进行一个求平均值的操做
咱们能够看到,算出来的值是nan,说明有问题!因此咱们不能把带有缺失值得也计算在里面
接下来咱们对数据进行处理
一个基本的想法是这样的,就是说,当前数据中,有值的,咱们就拿出来进行平均计算,没有值的,就不取出来进行运算
经过这样的计算,咱们能够获得,平均年龄为29.6岁
这种方法可能有些麻烦,那么Pandas中有没有什么好的方法能够直接帮咱们处理呢? 答案是有的
咱们用这样一个简单的方法,一步就能够帮咱们取出年龄的平均值。
那咱们继续说些难一点的。咱们在数据中,分了船舱有1, 2 ,3个等级,咱们想计算一下,每一个等级下的平均价格是多少
如何计算呢?
这段代码的意思是,我先用for循环,在数据中找到,哪些人是一等舱的人,哪些人是二等舱的人,哪些人是三等舱的人
咱们先讲这些人的数据拿到手,拿到以后,咱们进行列的定位,定位到价格这列,而后进行平均值,这样就能够获得一个平均价格
分别为以上三个,可是这种作法很麻烦,那么pandas中有没有一个更简单的方法帮咱们处理数据呢?看下面的代码
咱们有个需求,想算一下,3个舱位每一个舱位的平均获救人数的值
能够看到咱们在pivot_table中,有三个参数,第一个参数为index,就是说咱们要对哪列数据进行统计
values则是说,你要在统计参数一的基础上和哪一个数据有关系,做为统计。
第三个参数是aggfunc,就是说你要统计前面两个参数的什么值,咱们这边统计平均值。既能够得到以上平均数据
那么咱们在计算一下,每一个舱位的平均年龄是多少
咱们能够直接按照这种方式进行计算,既能够获得每一个舱的平均年龄,这里能够看到咱们没有添加第三个参数由于若是不加参数3,那么系统会默认帮咱们取平均值
那咱们又有了新的需求。咱们如今想看看。一个量之间,与其余量的关系
咱们将index设置为登船地点,那么values是船票的价格,和获救与否,最后一个参数是计算总值。
这里咱们想获得的数据就是,分别在C、Q、S这三个码头登船的人的获救总数
这个数据咱们能够看到,C码头卖出了1万多块的票价,获救人数是93人。以此类推
那么咱们先继续看
由于数据中有些缺失值,那么咱们想把这些缺失值都丢掉应该怎么作呢?
dropna的意思就是说,丢弃当前的缺失值。咱们 想去掉Age Sex中有缺失值的数据,须要将这两列数据dropna方法中便可
咱们继续
那么我想对数据,定位到具体的某个值,咱们怎么办呢?
咱们能够看到,咱们想找第83个样本的年龄,那么咱们只须要在参数中添加样本编号,以及须要取到的数据对应的列名。
今天就先讲到这里,感谢你们的阅读。谢谢!!
更多好文章:https://www.yuanrenxue.com/