如果日小于等于等于熊猫Pandas Python中每月的5号,如何获取所有数据

时间:2018-12-13 10:22:02

标签: python-3.x pandas datetime pandas-groupby

我想检查薪水是否在每个月的5号之前记入流式数据中。

代码

Salary['date'] = pd.to_datetime(Salary['date'], format='%d-%m-%y')
sum_Salary = Salary.groupby('date').sum()
print("\nSalary received per month \n", sum_Salary)



虚拟输入

每月收到的工资

    Date   Salary
07-06-18  15300.0 
07-07-18  15300.0 
03-08-18  14783.0 
04-09-18  16249.0 
05-10-18  14448.0 
06-11-18  15663.0 

预期产量

Date   Salary

03-08-18  14783.0 
04-09-18  16249.0 
05-10-18  14448.0 

仅供参考:

print(type(Salary['date']))

# class 'pandas.core.series.Series'

1 个答案:

答案 0 :(得分:3)

您可以执行以下操作: 首先,您需要将Date列转换为Pandas Datetime:

In [2612]: Salary.date = pd.to_datetime(Salary.date, format="%d-%m-%y")

现在,df看起来像这样:

In [2632]: Salary
Out[2632]: 
        Date   Salary
0 2018-07-07  15300.0
1 2018-08-03  14783.0
2 2018-09-04  16249.0
3 2018-10-05  14448.0
4 2018-11-06  15663.0

In [2633]: Salary[Salary['date'].dt.day <= 5].groupby('date')['Salary'].sum()
Out[2633]: 
Date
2018-08-03    14783.0
2018-09-04    16249.0
2018-10-05    14448.0

我想这就是你想要的。