python 如何在datetime列组上按另一个包含userid的列给予排名

w6mmgewl  于 2023-03-21  发布在  Python
关注(0)|答案(1)|浏览(79)

我的列是ID,User_created_date和Customer city,而user_created_date的格式是2023-01-01 00:01:05+05:30现在我想知道第一个用户是何时基于每个城市创建的,并根据城市给予他们排名
我尝试了先sort -〉groupby然后rank,但是没有给出我想要的输出

vmdwslir

vmdwslir1#

要获得定义的等级:

import pandas as pd

if __name__ == "__main__":
    df = pd.DataFrame({
        "ID": ["ID1", "ID2", "ID3"],
        "date": ["2016-6-10 20:30:0", "2016-7-1 19:45:30", "2013-10-12 4:5:1"],
        "city": ["New York", "Boston", "New York"]
    })
    df["date"] = pd.to_datetime(df["date"], format="%Y-%d-%m %H:%M:%S")

    print(df.groupby("city").min()["date"].rank(ascending=True))

此输出

city
Boston      2.0
New York    1.0
Name: date, dtype: float64

在这里,我们按城市分组,然后最小化日期,然后按升序排列获得的值。

相关问题