pandas包 —— drop()、sort_values()、drop_duplicates()
一、drop() 函数
当你要删除某一行或者某一列时,用drop函数,它不改变原有的df中的数据,而是返回另一个dataframe来存放删除后的数据。
1.命令: df.drop()
删除行:df.drop('apps') #drop函数的参数默认 axis=0
删除列:df.dorp('col', axis=1) #删除列要加axis=1,默认是删除行的
2.
temp = deviceid_packages.drop('apps', axis=1)
temp1 = deviceid_packages.drop(['apps'], axis=1)
二、sort_values()函数
pandas中的sort_values()函数原理类似于SQL中的order by,可以将数据集依照某个字段中的数据进行排序,该函数即可根据指定列数据也可根据指定行的数据排序。
1.sort_values()函数的具体参数
Usage:
DataFrame.sort_values(by=‘##’,axis=0,ascending=True, inplace=False, na_position=‘last’)
2.参数说明:
| 参数 | 说明 |
|---|---|
| by | 指定列名(axis=0或’index’)或索引值(axis=1或’columns’) |
| axis | 若axis=0或’index’,则按照指定列中数据大小排序;若axis=1或’columns’,则按照指定索引中数据大小排序,默认axis=0 |
| ascending | 是否按指定列的数组升序排列,默认为True,即升序排列 |
| inplace | 是否用排序后的数据集替换原来的数据,默认为False,即不替换 |
| na_position | {‘first’,‘last’},设定缺失值的显示位置 |
#注意sort_values()函数与drop()函数的参数axis表示的相反
三、drop_duplicates()函数
参考:https://www.cnblogs.com/xxswkl/p/10989306.html
dataframe删除某一列的重复元素,默认只留下第一次出现的
inplace参数设置为true时直接在原数据上修改,为False时,生成副本.
#注意:所有函数中inplace一旦设置为True,它整体已经就是None.想要再跟函数只能再写一行.
且此时在前面也不能赋值,赋值也是None.因为设置为True时,整体是None,设置为False时,整体是一个引用,可以赋给其它变量.
1.
a1 = pd.DataFrame({
'a': [1, 1, 3, 2,],
'b': [1, 1, 6, 4,],
'c': [1, 1, 3, 9,]
})
print(a1)
# a b c
# 0 1 1 1
# 1 1 1 1
# 2 3 6 3
# 3 2 4 9
a1.drop_duplicates(inplace=True)
print(a1)
# a b c
# 0 1 1 1
# 2 3 6 3
# 3 2 4 9
# 这里inplace为假,整体实际上是一个引用,所以可以直接输出.
print(a1.drop_duplicates(['a','b'], keep='first',inplace=False)) #删除a,b两列重复的行,并且保留首次出现的哪一行
# a b c
# 0 1 1 1
# 2 3 6 3
# 3 2 4 9
# 注意这里因为inplace为真,直接在原数据上修改,直接输出是空,因为它并不是一个引用,a1才是引用.
print(a1.drop_duplicates(['a','b'], keep='first',inplace=True))
# None
2.
想要留下去掉的重复行,可以先删除重复行后,保存索引,再删除索引.
import pandas as pd
import numpy as np
import re df = pd.DataFrame({'a': [1,1,3,4,3],
'b': [1,1,3,4,3],
'c': [1,1,3,4,3]})
print('原始数据:\n',df)
# 原始数据:
# a b c
# 0 1 1 1
# 1 1 1 1
# 2 3 3 3
# 3 4 4 4
# 4 3 3 3 print('去掉重复行后:\n', df.drop_duplicates())
# 去掉重复行后:
# a b c
# 0 1 1 1
# 2 3 3 3
# 3 4 4 4 drop_index = df.drop_duplicates().index.tolist()
print('去掉的重复行是:\n',df.drop(drop_index))
# 去掉的重复行是:
# a b c
# 1 1 1 1
# 4 3 3 3 #参数inplace=默认为假,数据框df还是原来的没有改变
print(df)
# a b c
# 0 1 1 1
# 1 1 1 1
# 2 3 3 3
# 3 4 4 4
# 4 3 3 3
pandas包 —— drop()、sort_values()、drop_duplicates()的更多相关文章
- pandas Series的sort_values()方法
pandas Series的 sort_values() 方法能对Series进行排序,返回一个新的Series: s = pd.Series([np.nan, 1, 3, 10, 5]) 升序排列: ...
- 沉淀,再出发:python中的pandas包
沉淀,再出发:python中的pandas包 一.前言 python中有很多的包,正是因为这些包工具才使得python能够如此强大,无论是在数据处理还是在web开发,python都发挥着重要的作用,下 ...
- python读取数据文件:pandas包详解
本文转载自https://blog.csdn.net/brucewong0516/article/details/79092579 pandas包是一个高效的文件读取工具,适用于txt,excel,等 ...
- Python之路-pandas包的详解与使用
什么是pandas pandas是一种Python数据分析的利器,是一个开源的数据分析包,最初是应用于金融数据分析工具而开发出来的,因此pandas为时间序列分析提供了很好的支持.pandas是PyD ...
- pandas包学习笔记
目录 zip Importing & exporting data Plotting with pandas Visual exploratory data analysis 折线图 散点图 ...
- Lesson11——Pandas去重函数:drop_duplicates()
pandas目录 "去重"通过字面意思不难理解,就是删除重复的数据.在一个数据集中,找出重复的数据删并将其删除,最终只保存一个唯一存在的数据项,这就是数据去重的整个过程.删除重复数 ...
- pandas的drop函数
当你要删除某一行或者某一列时,用drop函数,它不改变原有的df中的数据,而是返回另一个dataframe来存放删除后的数据. 1.命令: df.drop() 删除行:df.drop('apps') ...
- pandas 排序之 sort_values,reindex,reset_index, sort_index
如果想按照自己的方式排序ind = 行索引data= data[ind] ind = data.sum(axis=1).sort_values(ascending=False).index data ...
- Python使用xlrd、pandas包从Excel读取数据
#coding=utf-8 # pip install xlrd import xlrd def read_from_xls(filepath,index_col_list): #filepath:读 ...
随机推荐
- 【协作式原创】查漏补缺之乐观锁与悲观锁TODO
面试官:你了解乐观锁和悲观锁吗? 乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题. 悲观锁的实现方式是加锁,加锁既可以是对代码块加锁(如Java的synchronized关键字),也可以是 ...
- Vases and Flowers-HDU4614 二分+线段树
题意: 给你N个花瓶,编号是0 到 N - 1 ,一开始每个花瓶都是空的,你有两个操作: 第一个操作: 从第x个花瓶起开始插花,总共插y束,如果遇到花瓶中有花就跳过这个花瓶,直到花插完或者 插到第N ...
- C++代码书写规范——给新手程序员的一些建议
代码就是程序员的面子,无论是在工作中在电脑上写程序代码还是在面试时在纸上写演示代码我们都希望写出整洁,优雅的代码.特别在工作中当我们碰到需要维护别人的代码,或者是多人参与一个项目大家一起写代码的时候, ...
- ➡️➡️➡️leetcode 需要每天打卡,养成习惯
目录 待完成的 完成的 0204 0203 以前 java 的 ! 的操作 不像 c 那样自由,!不要使用在int 变量上 c ^ 是异或操作 体会:c中,malloc 后的新建的数组,默认不是0(j ...
- Aho-Corasick (AC) 自动机
基础:AC自动机是建立在 trie 树和 kmp 基础之上的,为什么这么说,因为AC自动机是基于字典树的数据结构之上的,其次它是一个自动机,用到了 kmp 的失配数组的思想. 应用:在模式匹配的问题中 ...
- java 实现图片上传功能
1:jsp 页面上传图片按钮在这里我就写相关的代码 <div class="control-group"> <label class="control- ...
- 常用的sql指令
一,关于数据库中表的一些介绍 1,表的每一行表示关系的一个元组,又称记录: 2,表的每一列表示关系的一个字段,又称属性(例如:id.name.password........): 3, 表结构:表的 ...
- SQL数据库入门基础
SQL(Structure Query Language,结构化查询语言)语言是国际标准化组织(ISO)采纳的标准数据库语言. 数据库就是一幢大楼,我们要先盖楼,然后再招住户(住户当然就是数据库对 ...
- 说说maven依赖冲突,依赖调解,依赖传递和依赖范围
说maven依赖冲突之前需要先说说maven的 依赖传递. 依赖传递 当前项目引入了一个依赖,该依赖的依赖也会被引入项目.更加准确的说法是,maven会解析直接依赖的POM,将那些必要的间接依赖,以传 ...
- vue 父组件调用子组件方法简单例子(笔记)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...