我有這樣的資料框:
pk_id date
123 2020-01-01
223 2020-01-02
123 2020-01-03
224 2020-01-04
我想找到他們的最新日期pk_id = 123并pk_id = 223計算這些行的數量。
我有以下代碼
idx = plan_df.groupby('pk_id')['date'].idxmax()
df = df.loc[idx]
df = df.loc[df['pk_id'] == 123]
形成資料框
pk_id date
123 2020-01-03
223 2020-01-02
現在我找到了行數
num = df.shape[0]
我相信它可以在一條線上完成。有任何想法嗎?
uj5u.com熱心網友回復:
你可以試試
out = df[df['pk_id'].isin([123, 223])].groupby('pk_id', as_index=False)['date'].max()
print(out)
pk_id date
0 123 2020-01-03
1 223 2020-01-02
uj5u.com熱心網友回復:
您可以使用熊貓查詢功能
df.query("pk_id == 123 | pk_id == 223").groupby('pk_id', as_index=False)['date']
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/483911.html
