【Python】Pandas使用中的3个小技巧
创始人
2025-06-01 04:29:44
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数据类型就可以节省大量的空间。

相关内容

热门资讯

十日谈·法治护航一带一路 | ... 我的法律职业生涯开始于2010年,那一年,我进入一家外国律所实习。在第一个七年里,我参与了许多跨境投...
瀚蓝环境将于6月27日召开股东... 金融界6月2日消息,瀚蓝环境发布公告,将于2025年6月27日召开第1次临时股东大会,网络投票同日进...
资讯┃蓝天彬律师参加瀛和刑辩论... 滥用管辖权链接点进行违法管辖,跨地区抓捕民营企业家以及员工,是当前民营经济保护的焦点问题和痛点问题。...
原创 国... 国际调解院公约的签署仪式于最近在充满活力的香港举行。国际调解院的总部设立在这座国际大都会,参与到这一...
英国商界人士:美国关税政策成为... 新华社伦敦6月2日电(记者郑博非)英国一些商界人士近日在全球英国2025年贸易展会上接受新华社记者采...
一女子立遗嘱给宠物狗留了十几万... 据广州日报报道,近日,广州一名52岁离异女子立遗嘱,划出10余万元留给4只宠物狗,相关报道引发热议。...
全球媒体聚焦|香格里拉对话会:... 为期三天的第22届香格里拉对话会6月1日闭幕。多家外媒认为,会议暴露出美国和欧洲在亚洲问题上的紧张关...
南京开放“以债换房”政策,可直... ⇧点蓝色字关注“互联网联合辟谣平台” 近日,有“南京二手房零首付李经理”“合肥瑶珺房地产代理有限公司...
一公司骗享约61万,被罚885... 近日,国家税务总局重庆市税务局公布两起骗享税费优惠政策典型案件,分别是重庆百子讯科技有限公司违规享受...