相关文章推荐
光明磊落的墨镜  ·  pandas ...·  2 周前    · 
坚强的南瓜  ·  Python之Pandas应用函数(appl ...·  2 周前    · 
挂过科的机器猫  ·  [Python] Pandas ...·  2 周前    · 
细心的荒野  ·  【工程实践】Pandas ...·  2 周前    · 
光明磊落的茶壶  ·  Pandas数据分析从入门到实�%8-_Bi ...·  6 天前    · 
纯真的饭卡  ·  在文件中查找 - Visual ...·  2 年前    · 
勤奋的洋葱  ·  javascript - Node 系列 ...·  2 年前    · 
打篮球的荒野  ·  打假永远在路上,万顺叫车以零容忍态度打击刷单 ...·  2 年前    · 
傻傻的伤痕  ·  音频编解码器 - Opus - 简书·  2 年前    · 
失落的勺子  ·  Windows 10 1909, Add ...·  2 年前    · 
Code  ›  python - pandas多条件分组排序问题 row_number -
python pandas
https://segmentfault.com/q/1010000018057429
魁梧的排球
2 年前
segmentfault segmentfault
注册登录
问答 博客 标签 活动
发现
✓ 使用“Bing”搜本站 使用“Google”搜本站 使用“百度”搜本站 站内搜索
注册登录
  1. 首页
  2. 问答
  3. python
  4. 问答详情

pandas多条件分组排序问题 row_number

头像
datafan
94 2 46 72
发布于
2019-01-29
更新于
2019-01-29
df = pd.DataFrame({'key1' : ['a','a','a','b','b'],
    'key2' : ['c','d','c','c','d'],
    'data' : [1,10,2,3,30]})
  key1 key2  data
0    a    c     1
1    a    d    10
2    a    c     2
3    b    c     3
4    b    d    30
key1 key2  data  row_number
0    a    c     1     1
1    a    d    10     1
2    a    c     2     2
3    b    c     3     1
4    b    d    30     1

以key1、key2分组,按照data排序,取出序号应该怎么处理呢?搜索找到的以下方法没有成功

df['row_number'] = df['data'].groupby(df['key1','key2']).rank(ascending=True,method='first')
pandas python
阅读 6.2k
1 个回答
得票 最新
头像
李毅
5k 2 4 38
发布于
2019-01-29
✓ 已被采纳
def cumsum_seq(v):
    sub = v.sort_values('data')
    sub['seq'] = sub['seq'].cumsum()
    return sub.loc[:, ['data', 'seq']]
df['seq'] = 1
df.groupby(['key1', 'key2']).apply(cumsum_seq).reset_index().drop(columns='level_2')
 
推荐文章
光明磊落的墨镜  ·  pandas GroupBy上的方法apply:一般性的“拆分-应用-合并” - 朴素贝叶斯
2 周前
坚强的南瓜  ·  Python之Pandas应用函数(apply),将多个值返回到Pandas dataframe中的行 - 飞哥霸气
2 周前
挂过科的机器猫  ·  [Python] Pandas 对数据进行查找、替换、筛选、排序、重复值和缺失值处理 - 哆啦梦乐园
2 周前
细心的荒野  ·  【工程实践】Pandas 删除某列指定值所在的行_pandas删除指定值的行
2 周前
光明磊落的茶壶  ·  Pandas数据分析从入门到实�%8-_Bilibili
6 天前
纯真的饭卡  ·  在文件中查找 - Visual Studio (Windows) | Microsoft Learn
2 年前
勤奋的洋葱  ·  javascript - Node 系列 - 002 - TypeScript - 个人文章 - SegmentFault 思否
2 年前
打篮球的荒野  ·  打假永远在路上,万顺叫车以零容忍态度打击刷单 - 知乎
2 年前
傻傻的伤痕  ·  音频编解码器 - Opus - 简书
2 年前
失落的勺子  ·  Windows 10 1909, Add someone else to this PC, POP up window - Microsoft Community
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号