此问题已在此处有答案:
Add suffixes to duplicate (column) cell values in Pandas depending on another column value (category)(1个答案)
3天前关闭。
我有一个数据框,我已经添加了一个类别。现在我想给组中的连续值添加一个计数。
数据看起来是这样的
| P1| P2|群|
| --------------|--------------|--------------|
| 十二岁|34人|一个|
| 九九|四十二|一个|
| 五十五|六十七|B|
| 五十五|一百|C类|
| 五十五|一百二十|C类|
| 十二岁|34人|一个|
| 九九|四十二|一个|
| 十二岁|34人|一个|
我想在一个组中添加一个元素的连续数量的计数,如
| P1| P2|群|群元素计数|
| --------------|--------------|--------------|--------------|
| 十二岁|34人|一个|A1|
| 九九|四十二|一个|A2|
| 五十五|六十七|B| B1|
| 五十五|一百|C类|C1|
| 五十五|一百二十|C类|C2|
| 十二岁|34人|一个|A1|
| 九九|四十二|一个|A2|
| 十二岁|34人|一个|A3|
import pandas as pd
data = {
"p1": [12, 99, 55, 55,55,12,99,12],
"p2": [34, 42, 67, 100,120, 34,42,34],
"group":['A','A','B','C','C','A','A','A']
}
#load data into a DataFrame object:
df = pd.DataFrame(data)
df.head()
这不是真实的的数据,组是通过类似这样的方式添加的df[“group”] = pd.Categorical(p1,categories = grades.values(),ordered=True)
1条答案
按热度按时间hi3rlvi21#
按
Series.shift
和Series.cumsum
为计数器GroupBy.cumcount
创建连续组,并添加到group
值:它是如何工作的: