python - python中数据帧的序列长度

标签 python pandas dataframe sequence

我有一个 python 数据框,其中有一列如下:

Type   
 A        
 A 
 B
 B
 B

我想根据类型的顺序向数据框中添加另一列:

Type   Seq  
 A      1       
 A      2
 B      1
 B      2
 B      3

我在 R 中使用以下命令执行此操作:

setDT(df)[ , Seq := seq_len(.N), by = rleid(Type) ] 

我不知道如何使用Python。

最佳答案

使用Series.rank ,

df['seq'] = df['Type'].rank(method = 'dense').astype(int)

   Type seq
0   A   1
1   A   1
2   B   2
3   B   2
4   B   2

关于python - python中数据帧的序列长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54912973/

相关文章:

python - 如何在 tkinter 的主窗口前面放置一个顶层窗口?

python - 合并具有多个索引和列值的数据帧

python - 构建包含多个 Cython 扩展的 Python 包

python - Pandas:将行索引更改为列索引。或相反亦然

python - 数据框子组中的滚动总和( Pandas )

r - 使用循环和子集创建不同的数据帧

python - python列表中的树文件结构?

python - Pandas 将多个数据帧转换为单个数据帧

pandas - 如何将字典文本文件读取到数据框?

python - 如何用其他数据框中的值替换 pandas 中的整个单元格?