繁体   English   中英

Pandas Dataframe - 添加显示满足条件的行数的列

[英]Pandas Dataframe - add column which shows row count satisfying condition

我有一个 dataframe:

import pandas as pd
df = pd.DataFrame({'item': ['A', 'A', 'B', 'B', 'B', 'B', 'C']})
df
物品
0 一种
1个 一种
2个
3个
4个
5个
6个 C

我想添加entrynum列,它显示从 1 开始的每个项目的行号,所以我的 dataframe 看起来像这样:

物品 条目号
0 一种 1个
1个 一种 2个
2个 1个
3个 2个
4个 3个
5个 4个
6个 C 1个

我可以逐行迭代 Pandas dataframe 并且如果item值更改设置entrynum值等于1否则设置entrynum等于前一个entrynum值加1 但我想知道是否存在更好的解决方案?

我在想我想要的类似于 SQL window 函数,但我不明白如何按item提供分区。

按项目分组并累计计算每个组中的实体。 将 output 存储在入口栏中。

 df['entrynum']=df.groupby('item').cumcount()+1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM