Pandas处理数据的一些常用技巧

100个pandas数据处理技巧 大家好,我是Peter~Pandas 是一个强大的 Python 数据分析库,它提供了非常灵活和高效的方式来处理时间序列数据。在Pandas中,有许多强大的数据处理技巧可以帮助你高效地分析和操作数据。以下是100个Pandas数据处理技巧的简要介绍和相应的Python代码示例。每个示例都会尽量简洁,由浅入深,希望对大家有所帮助。觉得不错的话,欢迎点赞、收藏、转发~ 2. 读取CSV文件 3. 查看数据前几行 4. 查看数据列信息 5. 查看数据基本信息 6. 查看数据描述统计信息 7. 选择单列 阅读详情

文件过大

1.可以用chunksize参数分成文件块(部分行),读取的返回值将会是一个可迭代对象TextFileReade。
2.可以用usecols = [‘loadingOrder’]参数只读取部分列进行分开处理。

去除重复记录

norepeat_df = df.drop_duplicates(subset=[‘A_ID’, ‘B_ID’], keep=‘first’)
当keep=False时,就是去掉所有的重复行
当keep=‘first’时,就是保留第一次出现的重复行
当keep=’last’时就是保留最后一次出现的重复行。

选择

1.根据index或者cols名字直接选择
2.根据数字索引
列

abcol = df.iloc[:, [0,1]] ##wayIII, 利用iloc
abcol = df.iloc[:, [0:1]] ##wayIV, 利用iloc

行

r1 = df[0:1]

赋值

1.列值判断

df1.loc[(df1[0]=='js') & (df1[2]=='cz'),[1,3]]=[588,688]

对列名为1和3的列根据0和2的条件赋予不同值

2.行索引

all_data['direction'].iloc[i] = 1

删除

DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

1)labels和axis 的组合
2)index或columns直接指定要删除的行或列

合并

在这里插入图片描述
合并操作之后往往要调整列的顺序,直接操作即可

df = df[['user_id','book_id','rating','mark_date']] # 调整列顺序

排序

all_data.sort_values(['loadingOrder','timestamp'],inplace=True)

null和nan

1.判断它们不能直接用等号

df = df[pd.notnull(df['a'])]
df = df[~np.isnan(df['a'])]

2.删除nan所在的行/列
可以用df.dropna(axis=0,how='all')how可以是all或者any分别处理全为nan或出现nan

3.填充
df.fillna({‘column_name_A’: 0,‘column_name_B’: 100})

分组操作

groupby是最为常用的操作之一,但是其用法繁多,需要好好熟悉运用。

  1. 首先groupby操作之后,用来分组的属性会变成索引,下列语句可以还原成属性
port_data = port_data.groupby('TRANS_NODE_NAME')['LONGITUDE','LATITUDE'].mean().reset_index()
  1. 想把分组的数据还原成原来的df规模大小(行数)
    在这里插入图片描述
  2. 可以分组之后接上聚合函数
    data[['price','quantity']].agg(['sum','mean'])
    agg后面可以是数组,对每个属性实施一遍;也可以是字典,每个属性用不同的函数

单/多列运算

单列

df['col2'] = df['col1'].map(lambda x: x**2)

多列

df['col3'] = df.apply(lambda x: x['col1'] + 2 * x['col2'], axis=1)

时间

Datetime

datetime以毫秒形式存储日期和时间
1.pd.to_datetime
参考链接.
该函数功能十分强大复杂,可以用时间戳结合起始时间生成实际时间,也可以根据指定格式或者自动推断格式把字符串变成datetime对象。
unit为数字代表的单位是秒或者小时,origin是起始时间
2.从字符串生成

datetime.strptime(x,'%Y-%m-%d')

与之对应的有从datetime生成字符串的函数

datetime.strftime('%Y/%m/%d  %H:%M:%S')

在这里插入图片描述

Timedelta

两个Datetime格式相减会得到一个Timedelta类型变量
Timedelta只有天,秒,毫秒3个可以访问。

Timedelta obj.days(seconds,microseconds)

某列属性取值个数

Pandas处理大数据的性能优化技巧 Pandas是Python中最著名的数据分析工具。在处理数据集时,每个人都会使用到它。但是随着数据大小的增加,执行某些操作的某些方法会比其他方法花费更长的时间。所以了解和使用更快的方法非常重要,特别是在大型数据集中,本文将介绍一些使用Pandas处理大数据时的技巧,希望对你有所帮助数据生成为了方便介绍,我们生成一些数据作为演示,faker是一个生成假数据的Python包。这里我们直接使用它“”"“”"“”"我们创建了一个100万行的DF。 阅读详情

相关推荐

如何在 Python 中高效处理大数据:Pandas 的实战技巧

本文介绍了如何高效使用Pandas处理大数据集的关键技巧。首先阐述了Pandas的核心数据结构DataFrame和Series的特点,重点讲解了优化数据加载的3种方法:使用dtype指定列类型、chunksize分块读取和usecols选择特定列。在内存优化方面,建议转换数据类型为较小类型、使用category分类变量和删除不必要列。文章还强调应避免低效的apply循环操作,推荐矢量化计算和批量操作,并介绍了Dask并行计算和joblib多核处理方案。最后建议使用Parquet列式存储和压缩技术来优化数据存

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1264

pandas使用chunksize分块处理大型csv文件

最近接手一个任务,从一个有40亿行数据的csv文件中抽取出满足条件的某些行的数据,40亿行。。。如果直接使用pandas的read_csv()方法去读取这个csv文件,那服务器的内存是会吃不消的,所以就非常有必要使用chunksize去分块处理。现在就开始讲chunksize的一些使用。 ** 1.本次任务的目标 ** 红框内是时间戳,需要使用pd.to_datetime()函数去将时间戳转换为...

weixin_43790560的博客 6万+

Python数据分析之Pandas数据处理技巧详解

Pandas是Python数据分析领域最常用的库之一,它提供了高效的数据结构和丰富的数据操作方法,极大地提升了数据处理和分析的效率。本文将详细介绍Pandas数据处理的常用技巧,包括数据读取与写入、数据选择与过滤、数据清洗、数据合并与分组、以及数据聚合与转换,并通过具体的示例代码展示这些技巧的实际应用。

Rocky006的博客 1160

【Python】chunksize分块读取 *[list] isinstance(a, str)

目录一、场景需求二、技术重点2.1 数据分块读取2.2 对日期分列,以便按年月日分别可视化2.3 isinstance(a, str) 判断数据类型三、完整代码 一、场景需求 2019-2020年Covid-19数据,20多万行,提取一部分数据,以便进一步做可视化分析。 二、技术重点 2.1 数据分块读取 一般数据超过5万行,就建议分块读取,可以减轻系统压力,提高数据处理效率。 这次的20多万行,其实一次性读入也行,就是有点吃力,但如果是2000万行、20亿行呢?那就必须分块了。稍微有点规模的数据库上亿的

专注于医院数据分析技术与系统开发的创作与分享。 1519

深入Pandas(二):高级数据处理技巧

在本篇博客中,我们将深入探索Pandas库的高级功能,包括数据合并、重塑、高级索引技巧及时间序列分析。我们不仅介绍复杂数据操作的方法,还展示如何通过多样化的数据可视化技术,有效呈现分析结果。本文适合已掌握Pandas基础的读者,旨在提升数据处理和分析技能,涵盖从高效数据整合到深入时间序列探索的各个方面。这些高级技巧和策略将为数据科学家、分析师和Python开发者在复杂数据分析中提供宝贵的工具和思路。

AI分享 | 科研日常 2088

深入解析DDR5 SDRAM的ODT模式:时序图与状态表实战指南

本文深入解析了DDR5 SDRAM的ODT模式,详细阐述了其五种工作状态及其在读写操作中的动态切换逻辑。通过解读JESD79-5标准中的时序图与状态表,并结合模式寄存器配置实战,为硬件工程师和爱好者提供了优化信号完整性、提升系统稳定性的关键指南。

gpu4optimizer的博客 699

【Pandas】chunksize分块处理大型csv文件

– 错误的操作导致保存了1TB以上的csv,要对csv重新读取处理,直接使用read_csv()不带任何参数,会把RAM撑爆。 – 所以使用chunksize:不一次性将文件读入内存(RAM)中,而是分多次。 官方示例: https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#io-chunking import pandas as pd import time start = time.perf_counter() # calcula

coding回忆录 2668

机器视觉最全面试题总结

空洞卷积(Atrous Convolution)也叫做膨胀卷积、扩张卷积,最初的提出是为了解决图像分割在用下采样(池化、卷积)增加感受野时带来的特征图缩小,后再上采样回去时造成的精度上的损失。空洞卷积通过引入了一个扩张率的超参数,该参数定义了卷积核处理数据时各值的间距。可以在增加感受野的同时保持特征图的尺寸不变,从而代替下采样和上采样a. 是普通的卷积过程(dilation rate = 1),卷积后的感受野为3b. 是dilation rate = 2的空洞卷积,卷积后的感受野为5。

@bangbang的博客 9206

pandas性能提升之利用chunksize参数对大数据分块处理

DataFrame是一个重量级的数据结构,当一个dataframe比较大,占据较大内存的时候,同时又需要对这个dataframe做较复杂或者复杂度非O(1)的操作时,会由于内存占用过大而导致处理速度极速下降。 对此,我们的方法是尽量避免直接对过大的dataframe直接操作(当然有时候没有办法,必须对整体的dataframe进行操作,这时就需要从其他方面优化,比如尽量...

S_o_l_o_n的博客 1万+

三、分区配置

rk3566/rk3568 修改分区

暮云星影的博客 514

modbus

从机地址 功能码 起始地址高位 起始地址低位 数量高位 数量低位 字节数 0001H高位 0001H低位 0002H高位 0002H低位 CRC高位 CRC低位。每个输入寄存器的长度为2个字节。其中,CDH对应线圈0013H到001AH的内容,01H对应线圈001B到001CH的内容,未使用位用0填充。从机地址 功能码 起始地址高位 起始地址低位 寄存器数量高位 寄存器数量低位 CRC高位 CRC低位。从机地址 功能码 起始地址高位 起始地址低位 寄存器数量高位 寄存器数量低位 CRC高位 CRC低位。

lunhuicnm的博客 9748

pandas 分批次读取大文件---chunkSize

当要处理一个较大文件时,一次性加载到内存可能导致内存溢出,pandas提供了一种以迭代器的方式读取文件,我们可以手动设置每个批次要读取的数据条数chunkSize。 import pandas as pd import chardet # 检测文件编码 with open(r'data.txt', 'rb') as f: encode = chardet.detect(f.readline())['encoding'] print(encode) # 建议如果检测出编码为ascii ...

MusicDancing的博客 3754

Zemax操作41--公差分析(一)

zemax公差

lzy750750的博客 5973

【Pandas】常用数据处理技巧

本文总结了Python中Pandas库在数据处理与分析中的核心操作技巧,涵盖六个主要方面:1)数据读取与存储(CSV/Excel/JSON等格式的细节处理);2)数据增删改查(行列操作、条件筛选等);3)数据转换(透视表、分组聚合、行列转换);4)时间处理(日期转换、重采样、滑动窗口);5)数据可视化(基础绘图与高级图表设置);6)Excel集成(数据与图片混合导出)。重点突出了实际应用中的常见问题解决方案,如时间序列处理中的时区转换、多格式数据读取的性能优化、复杂数据结构的转换技巧等,并提供了可复用的代码

TIM的博客 976

Simulink/Requirements Toolbox 学习(一):概述

编写、导入、导出需求并使需求正式化;两种创建需求的模块:需求编辑器、需求透视;描述需求的方式:文本、图像和关键字;通过导入和导出需求文件,与第三方需求管理工具(例如 Microsoft Word、Microsoft Excel®、IBM DOORS和 IBM DOORS Next)集成。涉及模块:Requirements Eidtor、Requirements Table等;

855

用ADSP-21569+SigmaStudio打造音频处理系统:从硬件连接到实时调参实战

本文详细介绍了如何利用ADSP-21569 DSP芯片和SigmaStudio图形化编程工具构建高性能音频处理系统。从硬件接口配置、信号流设计到实时参数调试,提供工业级开发中的实用技巧,包括低延迟优化、动态参数插值等关键技术,帮助开发者快速实现专业音频处理方案。

9o8p7i6u5y的博客 979

Python Pandas 数据处理的高级技巧

Pandas 的apply方法允许用户对 DataFrame 或 Series 的每个元素应用自定义函数。这在需要对数据进行复杂转换时非常有用。# 创建一个示例 DataFrame# 自定义日期格式化函数# 使用 apply 应用自定义函数print(df)输出结果如下:通过掌握 Pandas 的高级技巧,你可以更高效地处理复杂的数据问题。无论是自定义函数的应用、多维度聚合、多表连接还是缺失值处理,Pandas 都提供了丰富的工具来满足你的需求。

2501_90729369的博客 1643

半导体晶圆调平系统:基于最小二乘法的实现方案

基于最小二乘法的晶圆调平技术通过数学建模与工程实现的结合,解决了半导体量测中高精度平面对准的核心问题。实际应用中,需根据设备特性优化采样策略、校准传感器误差,并通过实时性优化满足高产能场景需求。该方案的模块化设计(如分离数据采集、拟合计算、补偿输出)也为后续功能扩展(如引入机器学习优化拟合模型)提供了灵活性。

品质生活,极致编程。 1181

[工作必备]pandas数据分析处理52个常用技巧

pandas工具包类似于python中的excel, 在excel中的筛选、排序、计算、透视、vlookup、分类汇总等操作用python如何实现呢? 本文精心整理的pandas数据处理与分析的51个技巧, 100多个知识点 这么多技巧除了收藏, 如何掌握呢, 请看文末! 技巧1: 导入工具包 # pandas 和numpy是两个基础的工具包 import numpy as np import pandas as pd # matplotlib seaborn是作图工具包 import matplo.

python技巧分享 4879

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

用Pandas处理Excel数据的10个技巧

Pandas提供了强大的功能来处理Excel数据,从读取、写入到数据清洗、筛选、排序、聚合和日期处理等。通过掌握这些技巧,你可以更高效地完成数据分析任务。

2403_89114850的博客 299

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

掌握Pandas高效数据清洗与处理的实用技巧

Pandas是Python中一个强大的数据处理和分析库,提供了数据清洗、数据分析和数据可视化等功能。它的核心数据结构是DataFrame,类似于一个表格或数据库表,是二维的带标签数据结构。Pandas为我们提供了丰富的函数库,可以高效地进行数据清洗、转换、聚合和可视化。apply函数是Pandas中一个非常有用的函数,允许我们将自定义的函数应用于DataFrame的列或行。通过apply,我们可以实现非常灵活的数据处理。按行应用自定义函数# 自定义一个函数,计算员工的年薪按列应用自定义函数。

一键难忘的博客 5039

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

超全面 pandas 数据预处理+数据概览 处理技巧整理(持续更新版)

简单的说包括了分块读大文件和编码,遍历和速度计算、定位提取单个和多个连续不连续单元格/行/列,高阶函数,行列条件去重,判空条件去空,1/2维度转换,数据导出,nlp去标点算切词统计建词典,正则表达式提字符,增删改查行列单元格,合并行列,行列数据加减乘除乘方log,皮尔逊预先相似度应用,各种列关联运算,数据统计概览,数据排序,数据统计取值数量,画散点图饼图柱状图热力图等等,有很多细节在里面,调试了很多bug,考研当词典用

如果没有躺赢的命,那就站起来奔跑,你的努力一定会对得起这一路的颠沛流离。 2449

让pandas处理大数据速度变快的三个技巧

上一篇文章 写的是处理GB级数据时datatable比pandas会更高效,但是datatable使用起来毕竟不如pandas来的顺手。所以今天准备介绍pandas的三个...

大邓和他的Python 1万+

【Pandas】10个Python pandas技巧,让你的数据分析效率翻倍——数据处理3

在数据分析工作中,pandas是Python最重要的库之一。作为数据科学家和分析师,我们每天都在与数据打交道,如何提高数据处理效率就显得尤为重要。本文将分享10个实用的pandas技巧,帮助你提升工作效率。

Creedassin的博客 1558

Pandas 高级使用技巧:高效数据处理与优化

掌握这些 Pandas 高级技巧后,您将能够显著提升数据处理效率,尤其是在处理大数据集时,优化方法能让您的代码变得更加高效和简洁。利用dtypes和分块读取优化内存使用。高效使用merge和concat函数。使用query和loc提高过滤性能。使用fillna和dropna高效填充和删除缺失值。使用dask进行分布式计算加速处理。希望这些技巧能够帮助你在日常的 Pandas 使用中提高效率!📈💪。

qq_44793283的博客 1479
上一篇: LeetCode每日一题6月记录
下一篇: Pytorch学习笔记-第二章
Sigyc
博客等级 码龄11年 23粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值