pandas数据处理

1、删除重复元素

使用duplicated()函数检测重复的行,返回元素为布尔类型的Series对象,每个元素对应一行,如果该行不是第一次出现,则元素为True。

- keep参数:指定保留哪一重复的行数据
- True 重复的行
  • 创建具有重复元素行的DataFrame
from pandas import Series,DataFrame
import numpy as np
import pandas as pd

#创建一个df
np.random.seed(10)
df = DataFrame(data=np.random.randint(0,100,size=(3,5)),index=[‘A‘,‘B‘,‘C‘],columns=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘])
df
# 

a    b    c    d    e
A    9    15    64    28    89
B    93    29    8    73    0
C    40    36    16    11    54

df.loc[‘B‘] = [‘22‘,‘22‘,‘22‘,‘22‘,‘22‘]
df.loc[‘C‘] = [‘22‘,‘22‘,‘22‘,‘22‘,‘22‘]
df
#

a    b    c    d    e
A    9    15    64    28    89
B    22    22    22    22    22
C    22    22    22    22    22
  • 使用duplicated查看所有重复元素行

使用drop_duplicates()函数删除重复的行

  • drop_duplicates(keep=‘first/last‘/False)

2. 映射:指定替换

1) replace()函数:替换元素

使用replace()函数,对values进行映射操作

Series替换操作

  • 单值替换

    • 普通替换
    • 字典替换(推荐)
  • 多值替换
    • 列表替换
    • 字典替换(推荐)
  • 参数
    • to_replace:被替换的元素

单值普通替换

eplace参数说明:

  • method:对指定的值使用相邻的值填充替换
  • limit:设定填充次数

DataFrame替换操作

  • 单值替换

    • 普通替换: 替换所有符合要求的元素:to_replace=15,value=‘e‘
    • 按列指定单值替换: to_replace={列标签:替换值} value=‘value‘
  • 多值替换

    • 列表替换: to_replace=[] value=[]
    • 字典替换(推荐) to_replace={to_replace:value,to_replace:value}

2) map()函数:新建一列 , map函数并不是df的方法,而是series的方法

  • map是Series的一个函数
  • map()可以映射新一列数据
  • map()中可以使用lambd表达式
  • map()中可以使用方法,可以是自定义的方法

    eg:map({to_replace:value})

  • 注意 map()中不能使用sum之类的函数,for循环

注意:并不是任何形式的函数都可以作为map的参数。只有当一个函数具有一个参数且有返回值,那么该函数才可以作为map的参数。

3. 使用聚合操作对数据异常值检测和过滤

4. 排序

使用.take()函数排序

- take()函数接受一个索引列表,用数字表示,使得df根据列表中索引的顺序进行排序
- eg:df.take([1,3,4,2,5])

可以借助np.random.permutation()函数随机排序

随机抽样

当DataFrame规模足够大时,直接使用np.random.permutation(x)函数,就配合take()函数实现随机抽样

5. 数据分类处理

数据聚合是数据处理的最后一步,通常是要使每一个数组生成一个单一的数值。

数据分类处理:

  • 分组:先把数据分为几组
  • 用函数处理:为不同组的数据应用不同的函数以转换数据
  • 合并:把不同组得到的结果合并起来

数据分类处理的核心:

 - groupby()函数
 - groups属性查看分组情况
 - eg: df.groupby(by=‘item‘).groups

分组

原文地址:https://www.cnblogs.com/glh-ty/p/9919443.html

时间: 2024-11-03 19:52:07

pandas数据处理的相关文章

Pandas 数据处理入门教程合集

基础教程 Pandas 数据处理(三) - Cheat Sheet 中文版 来源,2张图覆盖了几乎所有常用的 Pandas 用法. Pandas_Cheat_Sheet_中文版.pdf 下载 Pandas 数据处理(二) - 筛选数据 选取列,使用方括号 选取行,行标签使用loc,行号使用iloc,ix兼容处理loc与iloc(deprecated) 简单的逻辑判断(<, >, ==, &, |, ~ 等) 自定义函数,loc,apply,lambda Pandas 数据处理(一) -

Python3快速入门(十五)——Pandas数据处理

Python3快速入门(十五)--Pandas数据处理 一.函数应用 1.函数应用简介 如果要将自定义函数或其它库函数应用于Pandas对象,有三种使用方式.pipe()将函数用于表格,apply()将函数用于行或列,applymap()将函数用于元素. 2.表格函数应用 可以通过将函数对象和参数作为pipe函数的参数来执行自定义操作,会对整个DataFrame执行操作. # -*- coding=utf-8 -*- import pandas as pd import numpy as np

Pandas数据处理实战:福布斯全球上市企业排行榜数据整理

手头现在有一份福布斯2016年全球上市企业2000强排行榜的数据,但原始数据并不规范,需要处理后才能进一步使用. 本文通过实例操作来介绍用pandas进行数据整理. 照例先说下我的运行环境,如下: windows 7, 64位 python 3.5 pandas 0.19.2版本 在拿到原始数据后,我们先来看看数据的情况,并思考下我们需要什么样的数据结果. 下面是原始数据: 在本文中,我们需要以下的初步结果,以供以后继续使用. 可以看到,原始数据中,跟企业相关的数据中(“Sales”,“Prof

python数据分析实战-第6章-深入pandas数据处理

第6章 深入pandas:数据处理 117 6.1 数据准备 117 合并 1234567891011 #merge是两个dataframe共同包含的项import numpy as npimport pandas as pdframe1 = pd.DataFrame( {'id':['ball','pencil','pen','mug','ashtray'], 'price': [12.33,11.44,33.21,13.23,33.62]})print(frame1)print()frame

python pandas 数据处理

from pandas import Series,DataFrame import pandas as pd import numpy as np python中pandas.DataFrame对行与列求和及添加新行与列示例 df = DataFrame(np.random.randn(4, 5), columns=['A', 'B', 'C', 'D', 'E']) df['Col_sum'] = df.apply(lambda x: x.sum(), axis=1) df.loc['Row

pandas 数据处理

1. 查看数值数据的整体分布情况 datafram.describe() 输出: agecount 1463.000000mean 22.948052std 8.385384min 13.00000025% 17.00000050% 20.00000075% 27.000000max 64.000000 其中的25%,50%这些是百分位数. 百分位数的定义为: 统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数.可表示为:一组n个

Pandas数据处理+Matplotlib绘图案例

利用pandas对数据进行预处理然后再使用matplotlib对处理后的数据进行数据可视化是数据分析中常用的方法. 第一组例子(星巴克咖啡店) 假如我们现在有这样一组数据:星巴克在全球的咖啡店信息,如下图所示.数据来源:starbucks_store_locations. 店铺总数排名前10的国家 # coding=utf-8 # 统计店铺数排名前10的国家 import pandas as pd from matplotlib import pyplot as plt from matplot

Pandas数据处理一

Pandas 是在NumPy 基础上建立的新程序库, 提供了一种高效的 DataFrame 数据结构. DataFrame 本质上是一种带行标签和列标签. 支持相同类型数据和缺失值的多维数组. Pandas 不仅为带各种标签的数据提供了便利的存储界面, 还实现了许多强大的操作, 这些操作对数据库框架和电子表格程序的用户来说非常熟悉. 建立在NumPy 数组结构上的 Pandas, 尤其是它的 Series 和 DataFrame 对象, 为数据科学家们处理那些消耗大量时间的“数据清理”(data

Pandas数据处理二

3.7 合并数据集: Concat与Append操作将不同的数据源进行合并是数据科学中最有趣的事情之一, 这既包括将两个不同的数据集非常简单地拼接在一起, 也包括用数据库那样的连接(join) 与合并(merge) 操作处理有重叠字段的数据集. Series 与DataFrame 都具备这类操作, Pandas 的函数与方法让数据合并变得快速简单. 先来用 pd.concat 函数演示一个 Series 与 DataFrame 的简单合并操作. 之后, 我们将介绍 Pandas 中更复杂的 me