python - 从具有分类值的熊猫系列中获取总和
问题描述
我目前正在使用一个数据框,其中包含有关 T 恤的订单信息,其中我有一个如下所示的系列:
'2 s',
'1 s 2 l',
'1 s 1 m',
'1 m 1 l',
'2 xl',
'1 s',
'1 m',
'1 s',
'1 m',
'1 m',
'1 m',
'1 s 1 xl',
'1xxl 1x 2xl',
这些数据点是手动输入的,我正在寻找一种方法来查找特定尺寸的项目总和,即。我想找到所有 s、所有 m 等的总和。 Atm 我有点不确定如何进行;我正在考虑拆分每个条目并进行一些编码,然后使用 groupbys。
解决方案
如果您有数据框:
sizes
0 2 s
1 1 s 2 l
2 1 s 1 m
3 1 m 1 l
4 2 xl
5 1 s
6 1 m
7 1 s
8 1 m
9 1 m
10 1 m
11 1 s 1 xl
12 1xxl 1x 2xl
然后:
df = (
df["sizes"]
.str.extractall(r"(\d+)([\sa-z]+)")
.reset_index(drop=True)
.rename(columns={0: "count", 1: "size"})
)
df["size"] = df["size"].str.strip()
df["count"] = df["count"].astype(int)
print(df.pivot_table(columns="size", aggfunc="sum"))
印刷:
size l m s x xl xxl
count 3 6 7 1 5 1
推荐阅读
- javascript - 从 JSON 中的对象获取项目
- java - IntStream 如何避免隐藏的装箱成本
- node.js - 无法使用 config.get() 读取节点中的自定义环境变量
- python - 如何从叶地图中提取已经存在的地理标签?
- javascript - eslint 为什么我的插件显示未找到规则定义?
- python - xarray n00b 问题:它可以处理不规则大小的矩阵吗?
- java - java中的逗号吐/分隔jsonnode
- php - 使用 PHP 提取上下文中单词出现的实例,并按特定条件过滤结果
- django - 如果我删除迁移文件,会有问题吗?
- google-apps-script - 如何在谷歌脚本中使用 setValues