我目前已将注意力从 R 转移到 Python。我经常在 R 中使用 data.table,我发现有时很难找到 Python 中某些函数的等价物。
我有一个看起来像这样的熊猫数据框:
df = pd.DataFrame({'A':['abc','def', 'def', 'abc', 'def', 'def','abc'],'B':[13123,45, 1231,463,142131,4839, 4341]})
A B 0 abc 13123 1 def 45 2 def 1231 3 abc 463 4 def 142131 5 def 4839 6 abc 4341
我需要创建一个基于A和B从1递增的列,以便它指示B的递增顺序。所以我首先创建排序数据框,我有兴趣创建的列是C如下:
A B C 1 abc 463 1 6 abc 4341 2 0 abc 13123 3 3 def 45 1 2 def 1231 2 5 def 4839 3 4 def 142131 4
在 R 中,使用 library(data.table),这可以很容易地在一行中完成,并在原始数据表中创建一个列:
df[, C := 1:.N, by=A]
我环顾四周,我想我可以利用这样的东西:
df.groupby('A').size()
或
df['B'].argsort()
但不确定如何从这里开始,以及如何将新列连接回原始数据框。如果有人能给我任何指示,那将非常有帮助。
非常感谢!