【Python】Pandas使用中的3个小技巧
创始人
2025-06-01 03:49:50
0

Pandas使用中的3个小技巧

  • 1. to_period函数
  • 2. cumsum和groupby
  • 3. category数据类型

在使用Python的Pandas库操作DataFrame的时候,经常会遇到处理日期转换、分组统计,标签类型转换的问题,这里介绍三个使用的小技巧,虽然不常用,但是很高效!

首先,创建有一个 3 列 100 行的 DataFrame。date 列包含 100 个连续日期,class 列包含 4 个以对象数据类型存储的不同值,amount 列包含 10 到 100 之间的随机整数。

import numpy as np
import pandas as pd
df = pd.DataFrame({"date": pd.date_range(start="2021-11-20", periods=100, freq="D"),"class": ["A","B","C","D"] * 25,"amount": np.random.randint(10, 100, size=100)})df.head()

示例数据

1. to_period函数

在 Pandas 中,使用to_period函数可以将日期转换为特定的时间间隔。使用该方法可以获取具有许多不同间隔或周期的日期,例如日、周、月、季度等。

例如,针对于时间类型的列,month方法只返回在许多情况下没有用处的月份的数值,无法区分2020年12月和2021年12月。但是通过使用to_period函数的参数”M“实现时间序列。代码如下:

# 为年月和季度创建新列
df['month']=df['date'].dt.to_period("M")
df['quarter'] = df['date'].dt.to_period('Q')
df.head()

to_period
还可以查看DataFrame中不同的年月和季度值。
查看数值

2. cumsum和groupby

cumsum是一个非常有用的Pandas函数。它计算列中值的累积和。代码如下:

df['cumulative_sum']=df['amount'].cumsum()
df.head()

cumsum
这样就获得了amount列的列值的累积总和。但是它只是全部的总和没有考虑分类。在某些情况下,可能需要分别计算不同类别的累积和。

Pandas中只需要按类列对行进行分组,然后应用cumsum函数。代码如下:
查看A类的结果
类的累积总和列包含为每个类单独计算的累积值总和。

3. category数据类型

有时候,可能需要处理具有有限且固定数量的值的分类数据。例如在DataFrame中,”class“列具有4个不同值的分类变量:A、B、C、D。默认情况下,该列的数据类型为object。
默认
另外,Pandas还有一个“category”数据类型,它比object数据类型消耗更少的内存。因此最好尽可能使用category数据类型。
category
可以比较class列和class_category列的内存消耗:
memory_usage()
可以发现,class_category列消耗的内存不到class列的一半。相差496字节。虽然并不多,但是当使用大型数据集时,这样差异就会被放大,使用category数据类型就可以节省大量的空间。

相关内容

热门资讯

iPhone手机怎么玩安卓系统... 你有没有想过,你的iPhone手机竟然也能玩安卓系统?没错,就是那个一直以来让你觉得遥不可及的安卓世...
平板删安卓系统更新不了,原因及... 最近是不是你也遇到了这样的烦恼?平板电脑上的安卓系统更新不了,是不是让你头疼得要命?别急,今天就来给...
苹果组装机安卓系统卡,卡顿背后... 你有没有发现,最近用苹果手机的时候,有时候系统有点卡呢?这可真是让人头疼啊!你知道吗,其实这背后还有...
安卓系统原生浏览器,功能与体验... 你有没有发现,每次打开手机,那个小小的浏览器窗口总是默默无闻地在那里,陪你浏览网页、搜索信息、看视频...
安卓机如何上苹果系统,跨平台体... 你是不是也和我一样,对安卓机和苹果系统之间的切换充满了好奇?想象你的安卓手机里装满了各种应用,而苹果...
安卓导入系统证书失败,原因分析... 最近在使用安卓手机的时候,你是不是也遇到了一个让人头疼的问题——导入系统证书失败?别急,今天就来给你...
安卓原生系统有哪些手机,盘点搭... 你有没有想过,为什么有些手机用起来就是那么流畅,那么顺心呢?这背后可大有学问哦!今天,就让我带你一起...
安卓系统关机了怎么定位,安卓系... 手机突然关机了,是不是有点慌张呢?别担心,今天就来教你一招,让你的安卓手机即使关机了,也能轻松定位到...
安卓系统游戏加速器,畅享无延迟... 你有没有发现,手机游戏越来越好玩了?不过,有时候游戏体验可能并不那么顺畅,是不是因为手机性能不够强大...
安卓4系统天气功能,尽在掌握 安卓4系统天气功能大揭秘在当今这个数字化的世界里,手机已经不仅仅是一个通信工具,它更是一个集成了各种...
安卓系统如何玩碧蓝幻想,攻略与... 你有没有想过,在安卓系统上玩《碧蓝幻想》竟然可以这么酷炫?没错,就是那个让你沉迷其中的二次元大作!今...
安卓系统搜不到图朵,图朵生成之... 最近是不是你也遇到了这样的烦恼?手机里明明有那么多美美的图片,但是用安卓系统搜索的时候,却怎么也找不...
魁族8刷安卓系统,系统升级后的... 哇,你知道吗?最近在安卓系统圈子里,有一个话题可是引起了不小的轰动,那就是魁族8刷安卓系统。你是不是...
微信正版安装安卓系统,畅享沟通... 你有没有想过,你的微信是不是正版安装的安卓系统呢?这可不是一个小问题哦,它关系到你的微信使用体验和隐...
电视能刷安卓系统吗,电视也能刷... 电视能刷安卓系统吗?揭秘智能电视的无限可能想象你家的电视不再只是用来观看节目的工具,而是变成了一个功...
安卓系统开通通知功能,畅享智能... 你知道吗?最近安卓系统更新后,新增了一个超级实用的功能——开通通知功能!这可是个大喜事,让咱们的生活...
苹果系统安卓爱思助手,系统兼容... 你有没有发现,手机的世界里,苹果系统和安卓系统就像是一对欢喜冤家,总是各有各的粉丝,各有各的拥趸。而...
安卓系统占用很大内存,揭秘内存... 手机里的安卓系统是不是让你感觉内存不够用,就像你的房间堆满了杂物,总是找不到地方放新东西?别急,今天...
安卓系统p30,安卓系统下的摄... 你有没有发现,最近安卓系统P30在手机圈里可是火得一塌糊涂呢!这不,我就来给你好好扒一扒这款手机的那...
siri被安卓系统进入了,智能... 你知道吗?最近科技圈可是炸开了锅,因为一个大家伙——Siri,竟然悄悄地溜进了安卓系统!这可不是什么...