一、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()的更多相关文章

  1. pandas Series的sort_values()方法

    pandas Series的 sort_values() 方法能对Series进行排序,返回一个新的Series: s = pd.Series([np.nan, 1, 3, 10, 5]) 升序排列: ...

  2. 沉淀,再出发:python中的pandas包

    沉淀,再出发:python中的pandas包 一.前言 python中有很多的包,正是因为这些包工具才使得python能够如此强大,无论是在数据处理还是在web开发,python都发挥着重要的作用,下 ...

  3. python读取数据文件:pandas包详解

    本文转载自https://blog.csdn.net/brucewong0516/article/details/79092579 pandas包是一个高效的文件读取工具,适用于txt,excel,等 ...

  4. Python之路-pandas包的详解与使用

    什么是pandas pandas是一种Python数据分析的利器,是一个开源的数据分析包,最初是应用于金融数据分析工具而开发出来的,因此pandas为时间序列分析提供了很好的支持.pandas是PyD ...

  5. pandas包学习笔记

    目录 zip Importing & exporting data Plotting with pandas Visual exploratory data analysis 折线图 散点图 ...

  6. Lesson11——Pandas去重函数:drop_duplicates()

    pandas目录 "去重"通过字面意思不难理解,就是删除重复的数据.在一个数据集中,找出重复的数据删并将其删除,最终只保存一个唯一存在的数据项,这就是数据去重的整个过程.删除重复数 ...

  7. pandas的drop函数

    当你要删除某一行或者某一列时,用drop函数,它不改变原有的df中的数据,而是返回另一个dataframe来存放删除后的数据. 1.命令: df.drop() 删除行:df.drop('apps') ...

  8. pandas 排序之 sort_values,reindex,reset_index, sort_index

    如果想按照自己的方式排序ind = 行索引data= data[ind] ind = data.sum(axis=1).sort_values(ascending=False).index data ...

  9. Python使用xlrd、pandas包从Excel读取数据

    #coding=utf-8 # pip install xlrd import xlrd def read_from_xls(filepath,index_col_list): #filepath:读 ...

随机推荐

  1. 从npz文件中读取图片并显示的小例子

    前提:我把自己的数据集存成了npz的形式,也就是npy的压缩形式.如果电脑上安装了解压软件,双击npz文件的话,会出现每一部分压缩文件的名字例如npz文件的名称为:mnist.npz文件,用好压解压软 ...

  2. alert \ confirm \ prompt

    alert() : 会将()中的内容弹出,返回的是()中的内容值,也就是字符串值 confirm :需要用户点击 "确定" 或 "取消" ,若用户点击 ”确定“ ...

  3. core版本使用ef连接数据库(一)

    参考 参考代码 sqlserver数据库:①Nuget: Microsoft.EntityFrameworkCore.SqlServer ORACLE数据库:①Nuget: Oracle.Entity ...

  4. etc/passwd 和 /etc/shadow 文件内容及其解释

    /etc/passwd 和 /etc/shadow 文件内容及其解释 默认情况下,/etc/passwd 存储有关本地用户的信息 /etc/passwd 采用以下格式: 1)username      ...

  5. 十七 Spring的JDBC模版:使用开源连接池,DBCP,C3P0

    DBCP的配置以及使用 引入jar包

  6. 【剑指Offer面试编程题】题目1369:字符串的排列--九度OJ

    题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入: 每个 ...

  7. Pytorch dataset自定义【直播】2019 年县域农业大脑AI挑战赛---数据准备(二),Dataset定义

    在我的torchvision库里介绍的博文(https://www.cnblogs.com/yjphhw/p/9773333.html)里说了对pytorch的dataset的定义方式. 本文相当于实 ...

  8. MySQL 常用SQL 汇总

    1.查看当前应用连接,连接数突增排查 select user,SUBSTRING_INDEX(host,':',1) as ip , count(*) as count,db from informa ...

  9. java学习-初级入门-面向对象⑥-类与对象-静态static

    这次我们来学习静态(static) 知识点 1.静态方法只能调用静态变量 2.静态变量属于整个Class,会随着发生变化. 案例:定义一个自动增长的学生类. 题目要求: 定义一个学生类,除了姓名.性别 ...

  10. hadoop的扩容

    一.横向扩容(参见:https://www.cnblogs.com/yangy1/p/12362565.html) 现在在此基础上再添加一个节点 1.克隆一台主机hdp03(克隆hdp02) 修改ip ...