普通索引:传入具体索引的名称,常用loc函数。
位置索引:传入具体索引的行数或列数,常用iloc函数。
loc函数主要通过行标签索引行数据,划重点,标签!标签!标签!
iloc 主要是通过行号获取行数据,划重点,序号!序号!序号!
- 选择某一列或某几列
当传入列名list选择, 当传入列的具体位置,传入第0,3列时, - 选择连续的某几列
当传入列名是连续的, 当传入连续的位置时,
- 选择某一行或某几行
当传入行索引list选择, 当传入行的具体位置,传入第0,3行时, - 选择连续的某几行
当传入行索引是连续的, 当传入连续的位置时,
比如我们想在表中筛选年龄大于20的女生的信息:
- 普通索引选择指定的行、列:
- 位置索引选择指定的行、列:
- 布尔索引(选择行)+普通索引选择列:
- 切片索引选择指定的行、列:
- 布尔索引(选择行)+普通索引选择列:
- (不推荐)切片索引(选择行)+普通索引选择列:
数值替换就是将A 换成B,可以用在异常值替换处理、缺失值替换处理中,主要有一对一替换,多对一替换,多对多替换。
- 一对一替换:
- 多对一替换:
- 多对多替换:
- 按照一列数值进行降序吗,默认是True升序:
- 按照有缺失值的列进行排序,可以通过设置na_position参数对缺失值的显示位置进行设置,默认参数值为last
缺失值放在前面: - 按照多列数值进行排序,先对列名1进行升序,当列名1遇到重复时,再按照列名2进行降序排列。
数值排名和数值排序是相对应的,排名会新增一列,这一列用来存放数据的排名情况,排名是从1开始的。
-rank(ascending,method),ascending说明升降序,method指明待排序值有重复值的处理情况
- average:相同名次的取它们的平均
- first:出现相同的名次会累加,并顺延到下一个排序(常用)
- min/max:出现相同排序时取最小(大)的那个,排名不会连续
- 删除列: 按位置
- 删除行: 按位置
- 删除特定行一般指删除满足某个条件的行,但是在python中我们不满足条件的行筛选出来作为新的数据源。
删除年龄大于40的行:
数值计数就是计算某个值在一系列数值中出现的次数。
唯一值获取就是把某一系列值删除重复项以后的结果。
思路1:单独取出这一列,并用删除重复项的办法。
思路2:使用unique(),对ID 获取唯一值,
数值查找就是查看数据表中的数据是否包含某个/些值。
- 查看某一列是否包含值:
- 查看整个表是否包含:
区间切分就是将一系列的数值分成若干份,比如现在你有10个人,你要根据这10个人的年龄将他们分成3组,这个过程就是区间切分。python中实现用下面两种方法,当数据分布较均匀,两种方法得到的区间基本一致,当数据分布不均匀时,即方差比较大时,两者得到的区间的偏差就会比较大。
- cut(bins),bins用来指明切分区间。
- qcut() 不需要事先指明切分区间,只需指明切分个数,即你要把数据切成几份,原则就是尽可能的使每个组里面的数据尽可能相等。
- 插入行
python 没有专门实现插入行的办法,可以把待插入的行当作一个新的表,然后将两个表在纵轴方向上进行拼接,pd.concat()。 - 插入列
在特定的位置插入行/列,主要是考虑在哪插入,插入什么,用的insert(位置,插入后新列的列名,插入的数据)
往表中的第2列插入新的一列,并命名为商品: 或者
添加一列: df[‘列名1’]=0/或者其他默认值
添加多列分为两种情况:
- 一次性添加多列并有数据
- 依次添加列并有数据
类似结果:
df.T即可。
- 宽表换长表:1.stack() 2.melt()
- 长表换宽表:透视表
python中的map()函数是对一个序列中的所有元素执行相同的函数操作。
在DtaFrame中与map()函数类似的有两个:apply(),applymap(),但是两者都需要与匿名函数lambda()结合使用。
- apply()函数主要用于DtaFrame中的某一列/行中的元素执行相同的函数操作。
- applymap()函数用于DtaFrame中的每一个元素执行相同的函数操作。
- 两列四则运算:
- 一列与一个值a:
非空值计算就是计算某一个区域非空(单元格)数值的个数。
使用方式与上面三种类似。
相关性用来衡量两个事物之间的相关程度。