六个实用Pandas数据处理代码

目录
  • 选取有空值的行
  • 快速替换列值
  • 对列进行分区
  • 将一列分为多列
  • 中文筛选
  • 更改列的位置

前言:

今天和大家分享自己总结的6个常用的Pandas数据处理代码,对于经常处理数据的coder最好熟练掌握。

选取有空值的行

在观察数据结构时,该方法可以快速定位存在缺失值的行。

df = pd.DataFrame({'A': [0, 1, 2],
                   'B': [0, 1, None],
                   'C': [0, None, 2]})
df[df.isnull().T.any()]

输出:

A   B   C           A   B   C
0 0 0.0 0.0         1 1 1.0 NaN
1 1 1.0 NaN   -->   2 2 NaN 2.0
2 2 NaN 2.0

快速替换列值

实际数据处理经常会根据一些限定条件来替换列中的值。

df = pd.DataFrame({'name':['Python', 'Java', 'C']})
# 第一种方式
df['name'].replace('Java', 'JavaScript', inplace=True)
# 第二种方式
df.loc[df['name'].str.contains('Java'), 'name'] = 'JavaScript'

输出:

name                   name
0  Python          0      Python
1    Java    --->  1  JavaScript
2       C          2           C

对列进行分区

很多情况下,对于数值类型的数据,我们需要分区来计算每个区间数据出现的频率。这时用 pd.cut 就能很好的解决这一问题。

import random
age = random.sample(range(90), 20)
cut_res = pd.cut(age, bins=[0, 18, 35, 60, 90])
# cut_res type:<class 'pandas.core.arrays.categorical.Categorical'>
cut_res.value_counts()

输出:

(0, 18]     6
(18, 35]    1
(35, 60]    6
(60, 90]    7

将一列分为多列

在文本数据清洗时,一些列中存在分隔符('', ',', ':')分隔的值,我们只需将该列根据分隔符进行 split 即可。

import pandas as pd
df = pd.DataFrame({'address': ['四川省 成都市',
                               '湖北省 武汉市',
                               '浙江省 杭州市']})
res = df['address'].str.split(' ', expand=True)
res.columns = ['province', 'city']

输出:

province city
0 四川省    成都市
1 湖北省    武汉市
2 浙江省    杭州市

expand参数选择是否扩展为 DataFrame,False 则返回 Series

中文筛选

同样在清洗过程中,往往会出现一些不需要的中文字段,这时直接用 str.contains 筛选即可。

df = pd.DataFrame({'mobile_phone':
                   ['15928765644',
                    '15567332235',
                    '暂无']})
df[~df['mobile_phone'].str.contains('[\u4e00-\u9fa5]')]

输出:

mobile_phone         mobile_phone
0 15928765644        0 15928765644
1 15567332235   -->  1 15567332235
2 暂无

更改列的位置

有时我们需要调整列的位置,当数据列较少时,可以用下面的方式

df = pd.DataFrame({'name': ['A', 'B', 'C'],
                   'age': [10, 20, 30],
                   'gender': [0, 1, 0]})
df = df[['name', 'gender', 'age']]

输出:

name age gender    name gender age
0   A  10 0        0   A 0       10
1   B  20 1   -->  1   B 1       20
2   C  30 0        2   C 0       30

如果列较多,那么,一个个列举出来会比较繁琐,推荐下面插入的方式。

col = df['gender']
df.drop('gender', axis=1, inplace=True)
df.insert(1, 'gender', col)

这就是今天分享的主要内容,实践永远是最好的学习方式,记忆的也更牢固。

到此这篇关于六个实用Pandas数据处理代码的文章就介绍到这了,更多相关 Pandas数据处理 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 浅谈Pandas dataframe数据处理方法的速度比较

    数据修改主要以增删改差为主,这里比较几种写法在数据处理时间上的巨大差别. 数据量大概是500万行级别的数据,文件大小为100M. 1.iloc iloc是一种速度极其慢的写法.这里我们对每个csv文件中的每一行循环再用iloc处理,示例代码如下: for index in range(len(df)): df.iloc['attr'][index] = xxx 使用这种方法对五百万行的数据进行处理大概需要5个小时,实在是很慢. 2.at at相比于iloc有了很大的性能提升,也是for循环处理,

  • Python Pandas读取Excel日期数据的异常处理方法

    目录 异常描述 出现原因 解决方案:修改自定义格式 pandas直接解析Excel数值为日期 总结 异常描述 有时我们的Excel有一个调整过自定义格式的日期字段: 当我们用pandas读取时却是这样的效果: 不管如何指定参数都无效. 出现原因 没有使用系统内置的日期单元格格式,自定义格式没有对负数格式进行定义,pandas读取时无法识别出是日期格式,而是读取出单元格实际存储的数值. 解决方案:修改自定义格式 可以修改为系统内置的自定义格式: 或者在自定义格式上补充负数的定义: 增加;@即可 p

  • pandas中对文本类型数据的处理小结

    目录 1.英文字母大小写转换及填充 2.字符串合并与拆分 2.1 多列字符串合并 2.2 一列 列表形式的文本合并为一列 2.3 一列字符串与自身合并成为一列 2.4 一列字符串拆分为多列 2.4.1 partition函数 2.4.2 split函数 2.4.3 rsplit函数 3.字符串统计 3.1 统计某列字符串中包含某个字符串的个数 3.2 统计字符串长度 4.字符串内容查找(包含正则) 4.1 extract 4.2 extractall 4.3 find 4.4 rfind 4.5

  • 详解pandas中缺失数据处理的函数

    目录 一.缺失值类型 1.np.nan 2.None 3.NA标量 二.缺失值判断 1.对整个dataframe判断缺失 2.对某个列判断缺失 三.缺失值统计 1.列缺失 2.行缺失 3.缺失率 四.缺失值筛选 五.缺失值填充 六.缺失值删除 1.全部直接删除 2.行缺失删除 3.列缺失删除 4.按缺失率删除 七.缺失值参与计算 1.加法 2.累加 3.计数 4.聚合分组 五.源码 今天分享一篇pandas缺失值处理的操作指南! 一.缺失值类型 在pandas中,缺失数据显示为NaN.缺失值有3

  • 分享5个数据处理更加灵活的pandas调用函数方法

    目录 0. 数据预览 1. apply 2. applymap 3. map 4. agg 5. pipe 0. 数据预览 这里的数据是虚构的语数外成绩,大家在演示的时候拷贝一下就好啦. import pandas as pd df = pd.read_clipboard() df 姓名 语文 数学 英语 性别 总分 0 才哥 91 95 92 1 1 小明 82 93 91 1 2 小华 82 87 94 1 3 小草 96 55 88 0 4 小红 51 41 70 0 5 小花 58 59

  • python数据处理67个pandas函数总结看完就用

    目录 导⼊数据 导出数据 查看数据 数据选取 数据处理 数据分组.排序.透视 数据合并 不管是业务数据分析 ,还是数据建模.数据处理都是及其重要的一个步骤,它对于最终的结果来说,至关重要. 今天,就为大家总结一下 "Pandas数据处理" 几个方面重要的知识,拿来即用,随查随查. 导⼊数据 导出数据 查看数据 数据选取 数据处理 数据分组和排序 数据合并 # 在使用之前,需要导入pandas库 import pandas as pd 导⼊数据 这里我为大家总结7个常见用法. pd.Da

  • python pandas数据处理教程之合并与拼接

    目录 前言 一.join 1.leftjoin 2.rightjoin 3.innerjoin 4.outjoin 二.merge 三.concat 1.纵向合并 2.横向合并 四.append 1.同结构数据追加 2.不同结构数据追加 3.追加合并多个数据集 五.combine_first 六.update 总结 前言 在许多应用中,数据可能来自不同的渠道,在数据处理的过程中常常需要将这些数据集进行组合合并拼接,形成更加丰富的数据集.pandas提供了多种方法完全可以满足数据处理的常用需求.具

  • python优化数据预处理方法Pandas pipe详解

    我们知道现实中的数据通常是杂乱无章的,需要大量的预处理才能使用.Pandas 是应用最广泛的数据分析和处理库之一,它提供了多种对原始数据进行预处理的方法. import numpy as np import pandas as pd df = pd.DataFrame({ "id": [100, 100, 101, 102, 103, 104, 105, 106], "A": [1, 2, 3, 4, 5, 2, np.nan, 5], "B":

  • Python数据处理的26个Pandas实用技巧总结

    目录 从剪贴板中创建DataFram 将DataFrame划分为两个随机的子集 多种类型过滤DataFrame DataFrame筛选数量最多类别 处理缺失值 一个字符串划分成多列 Series扩展成DataFrame 对多个函数进行聚合 聚合结果与DataFrame组合 选取行和列的切片 MultiIndexedSeries重塑 创建数据透视表 连续数据转类别数据 StyleaDataFrame 额外技巧 ProfileaDataFrame 大家好,今天给大家分享一篇 pandas 实用技巧,

  • 六个实用Pandas数据处理代码

    目录 选取有空值的行 快速替换列值 对列进行分区 将一列分为多列 中文筛选 更改列的位置 前言: 今天和大家分享自己总结的6个常用的Pandas数据处理代码,对于经常处理数据的coder最好熟练掌握. 选取有空值的行 在观察数据结构时,该方法可以快速定位存在缺失值的行. df = pd.DataFrame({'A': [0, 1, 2], 'B': [0, 1, None], 'C': [0, None, 2]}) df[df.isnull().T.any()] 输出: A   B   C  

  • Pandas 缺失数据处理代码汇总

    目录 一.缺失值类型 1.np.nan 2.None 3.NA标量 二.缺失值判断 1.对整个dataframe判断缺失 2.对某个列判断缺失 三.缺失值统计 1.列缺失 2.行缺失 3.缺失率 四.缺失值筛选 五.缺失值填充 六.缺失值删除 1.全部直接删除 2.行缺失删除 3.列缺失删除 4.按缺失率删除 七.缺失值参与计算 1.加法 2.累加 3.计数 4.聚合分组 一.缺失值类型 在pandas中,缺失数据显示为NaN.缺失值有3种表示方法,np.nan,none,pd.NA. 1.np

  • 关于Python中进度条的六个实用技巧分享

    目录 1 简介 2 tqdm中实用的6个特性 2.1 autonotebook自动切换进度条风格 2.2 延迟渲染进度条 2.3 自定义进度条色彩 2.4 自主控制的进度上限 2.5 针对enumerate.zip和map的替代 2.6 设置进度条“用完即逝” 总结 1 简介 费老师我在几年前写过的一篇文章(https://www.jb51.net/article/243348.htm)中,介绍过tqdm这个在当下Python圈子中已然非常流行的进度条库,可以帮助我们为任何具有循环迭代过程的代码

  • Pandas加速代码之避免使用for循环

    前言 使用Pandas dataframe执行数千甚至数百万次计算仍然是一项挑战.你不能简单的将数据丢进去,编写Python for循环,然后希望在合理的时间内处理数据. Pandas是为一次性处理整个行或列的矢量化操作而设计的,循环遍历每个单元格.行或列并不是它的设计用途.所以,在使用Pandas时,你应该考虑高度可并行化的矩阵运算. 本文将教你如何使用Pandas设计使用的方式,并根据矩阵运算进行思考.在此过程中,我们将向你展示一些实用的节省时间的技巧和窍门,这些技巧和技巧将使你的Panda

  • pandas数据处理清洗实现中文地址拆分案例

    目录 一.案例场景 二.初步方案 三.优化方案 一.案例场景 字段login_place,一共267725行记录,随机15条记录如下:   后续数据分析工作需要用到地理维度进行分析,所以需要把login_place字段进行拆分成:国家.省份.地区. 二.初步方案   第三方中文分词库:jieba,可以对文本进行拆分.使用参考资料:jieba库的使用. 初步方案: 用jieba.cut()将文本拆分为单词列表list_word; 分支判断list_word长度,赋值国家.城市.地区. 代码:(抽取

  • Pandas数据处理加速技巧汇总

    目录 数据准备 日期时间数据优化 数据的简单循环 循环 .itertuples() 和 .iterrows() 方法 .apply() 方法 .isin() 数据选择 .cut() 数据分箱 Numpy 方法处理 处理效率比较 HDFStore 防止重新处理 Pandas 处理数据的效率还是很优秀的,相对于大规模的数据集只要掌握好正确的方法,就能让在数据处理时间上节省很多很多的时间. Pandas 是建立在 NumPy 数组结构之上的,许多操作都是在 C 中执行的,要么通过 NumPy,要么通过

  • Python Pandas数据处理高频操作详解

    目录 引入依赖 算法相关依赖 获取数据 生成df 重命名列 增加列 缺失值处理 独热编码 替换值 删除列 数据筛选 差值计算 数据修改 时间格式转换 设置索引列 折线图 散点图 柱状图 热力图 66个最常用的pandas数据分析函数 从各种不同的来源和格式导入数据 导出数据 创建测试对象 查看.检查数据 数据选取 数据清理 筛选,排序和分组依据 数据合并 数据统计 16个函数,用于数据清洗 1.cat函数 2.contains 3.startswith/endswith 4.count 5.ge

  • 利用Python的pandas数据处理包将宽表变成窄表

    目录 前言 1.引入包 3.关键操作,将宽表转换为窄表 4.对空值进行处理 5.导出存储到Excel中 前言 工作中经常会使用到将宽表变成窄表,例如这样的形式 编号 编码 单位1 单位2 单位3 单位4 ... ... ... ... ... ...       1 编码1... 数量... 数量... 数量... 数量... ... ... ... ... ... ...       2 编码2... 数量... 数量... 数量... 数量... ... ... ... ... ... ..

  • 60个很实用的jQuery代码开发技巧收集

    由于内容比较多建议用CTRL+F搜索 偶然在网上看到这些不错的jQuery代码开发技巧.原文收集了30个,另外查找的时候发现了还有20个.加上另外十个实用的jQuery代码片段,共60个代码技巧,收集在一起分享给大家. 1. 创建一个嵌套的过滤器 .filter(":not(:has(.selected))") //去掉所有不包含class为.selected的元素 2. 重用你的元素查询 var allItems = $("div.item"); var keep

随机推荐