python - 如何确定熊猫数据框中的值是否也存在于前一个日期?
问题描述
我有一个数据框,每周跟踪数千个属性的值。每个星期日都会记录该值。如果该属性是在 52 周前准确记录的(即我们已经跟踪该属性至少一年),我正在尝试在数据框的每个条目上设置一个标志。
report['Flag A'] =0
Weeks = report['Survey Date'].unique()
for week in Weeks:
current_props = report.loc[report['Survey Date'] == week]['PropertyId'].unique()
previous_year_props = report.loc[report['Survey Date'] == pd.to_datetime(week) - pd.DateOffset(weeks = 52)]['PropertyId'].unique()
for prop in current_props:
if prop in previous_year_props:
report.loc[((report['RAOT Week'] == week) & (report['PropertyId'] == prop)), 'Flag A'] = 1
据我所知,代码完全按预期工作。但是,它现在已经运行了十分钟,并且似乎只通过了数据帧的 1/10。是否有更直接/更少资源密集型的方法来完成此任务?
解决方案
推荐阅读
- python - 如何显示多个 DataFrame,如 subplot
- python - 如何在多行之间执行熊猫操作,同时将原点保存在多索引中
- java - 传递对象时 println() 会发生什么
- java - 在java中实现序列化时的问题
- python - 如何为每个文件的每个结束行分割具有特定条件的文件
- android - 如何使用android模拟器连接到另一台机器的本地主机
- ios - 使用 UIStatusBarManager 更改状态栏背景颜色
- mysql - 如何修复 AttributeError:如果使用 mysql,'bytes' 对象没有属性 'encode'?
- oracle - 表正在变异,触发器可能看不到它
- android - 由于editText获得焦点,drawable没有被点击