我有一个以月为一列的熊猫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并仅基于当前月份保留最近两个月的行。
我正在尝试如下所述的apply函数(保持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)
答案 0 :(得分:1)
我们现在是四月,所以,
constructor(
public id:string,
public name:string,
public items: Items[]
){}
export class Items (
constructor(
public name: string,
public content: string
){} )
答案 1 :(得分:1)
使用date_range
+ isin
s=pd.date_range(end='2019-04-02',periods=2,freq='MS').strftime('%b')
df[df.MonthCol.isin(s)]
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