簡體   English   中英

Pandas:在 dataframe 的列中過濾每個唯一單元格值的日期字段

[英]Pandas: Filter datefield for each unique cell values in a column in dataframe

我有一個 dataframe df如下

YearMonth    CustID    Values
201901       12231     400
201902       12231     233
201903       12231     244
201904       12231     355
201901       12235     114
201902       12235     133
201903       12235     144
201904       12235     205

在上面,我有每個月( YearMonth )的CustID及其對應的值( Values )。

客觀的:

我想得到一個 dataframe ,其中每個客戶的數據將從201903即 2019 年 1 月到201901年即 2019 年 3 月。所以結果df看起來像

YearMonth    CustID    Values
201901       12231     400
201902       12231     233
201903       12231     244
201901       12235     114
201902       12235     133
201903       12235     144

我已經使用pd.to_datetime()YearMonth轉換為datetime時間。

上面的dataframe怎么得到? 我應該先過濾然后groupby(['CustID'])嗎? 還是有其他出路?

簡單地說:

df = df[(df.YearMonth.ge(201901))&(df.YearMonth.le(201903))]

pd.to_datetimedt.month訪問器和series.between()一起使用:

df[pd.to_datetime(df.YearMonth,format='%Y%m').dt.month.between(1,3)]

   YearMonth  CustID  Values
0     201901   12231     400
1     201902   12231     233
2     201903   12231     244
4     201901   12235     114
5     201902   12235     133
6     201903   12235     144

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM