python - 使用定义的参数python创建新列的函数
问题描述
我有这个 DF
如何在其他列中获取上个月最后一天的“标记”
我手动填写的示例df
import pandas as pd
df = pd.DataFrame({'Found':['A','A','A','A','A','B','B','B','B'],
'Date':['14/10/2021','19/10/2021','29/10/2021','30/09/2021','20/09/2021','20/10/2021','29/10/2021','15/10/2021','10/09/2021'],
## 'LastDayMonth':['29/10/2021','29/10/2021','29/10/2021','30/09/2021','30/09/2021','29/10/2021','29/10/2021','29/10/2021','30/09/2021'],
'Mark':[1,2,3,4,3,1,2,3,2]
})
df
df['Date'] = pd.to_datetime(df['Date'])
df['Date'] = pd.to_datetime(df['Date'], format = '%Y/%m/%d')
df['LastDayDate'] = pd.to_datetime(df['Date']) + BMonthEnd(0)
df['LastDayDatePrev'] = pd.to_datetime(df['Date']) - pd.DateOffset(months=1)
mark_last_day = df.loc[df.apply(lambda x: x['Date']==x['LastDayMonth'], 1)]
df = df.merge(df.loc[df['Date'] == df['LastDayDate'], ['Found','LastDayDate','Mark']],
on=['Found', 'LastDayDate'],
how='left', suffixes=['', '_LastDayDate'])
我添加了一个实际示例。
解决方案
推荐阅读
- nginx - 应用程序仅在单独的标签中打开图像后才显示图像
- javascript - 如何在 Three.js 中加载带有三角形和(孤立)顶点的 PLY 网格?
- azure - Azure VM 上的 Azure FormRecognizer 资源暂时不可用错误
- javascript - 日历 API:每次执行时事件列表都不同
- c++ - 按值返回一个在概念上不应被复制的对象
- node.js - 如何使用reactjs在Axios中没有数据时显示消息?
- vue.js - 如何部署分离/解耦的 Laravel & Vue Js 项目?
- python - Python中是否有带键的同步锁?
- python - 如何使用邮递员中的请求表单将数据发送到 mongodb compass?
- python - 如何将同一台相机用于两种不同的应用程序?