gpt4 book ai didi

python - 使用月份列过滤 Pandas 数据框以保留最近的 n 个月

转载 作者:太空宇宙 更新时间:2023-11-04 02:02:15 26 4
gpt4 key购买 nike

我有一个以月份为一列的 pandas datframe。我在下面给出了一个小样本:

   df 

ColA ColB ColC MonthCol

XY AA 12 Apr
XY BG 15 Apr
XY BG 16 Mar
XY AD 13 Feb
XA AA 15.5 Apr
XA AA 16.2 Mar
XA AA 13.1 Jan
XA AA 13 Feb
TX AC 11 Mar
TX AX 12 Feb

现在我想要的是过滤 datframe 并根据当前月份仅保留最近两个月的行。

我正在尝试如下排序的应用函数(保留 1 和 0,然后删除 0)但它不起作用:

      def filtermon(mCol):

currmon = datetime.datetime.now().strftime("%m")

if currmon == mCol or currmon - mCol = 1
val =1
else:
val = 0
return val

之后,我从 datframe 创建了一个新列:

       df[filtCol] = df[MonthCol].apply(filtermon)

最佳答案

现在是四月份,所以我们有,

mth = pd.to_datetime('today').month
mth
# 4

df[(pd.to_datetime(df['MonthCol'], format='%b').dt.month - mth).isin([0, -1])]

ColA ColB ColC MonthCol
0 XY AA 12.0 Apr
1 XY BG 15.0 Apr
2 XY BG 16.0 Mar
4 XA AA 15.5 Apr
5 XA AA 16.2 Mar
8 TX AC 11.0 Mar

关于python - 使用月份列过滤 Pandas 数据框以保留最近的 n 个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55484899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com