我正在从Twitter API下载推文,我需要删除重叠的日期,这样我就不会请求重复的推文,这会消耗掉我每月的下载配额。我的数据在pandas数据框中。下面是我在Python(或SQL)中拥有的和我想要做的事情的示例,但我不知道如何解决这个问题。在SAS中,我可以使用retain语句,但我不认为这在python中是一个选项。任何帮助都会很感激。谢谢。
p><表类="年代桌子">用户 开始结束 tbody><User1 01-01-20 03-31-20 User102-01-20 04-30-20 User110-01-20 12-30-20 User2 06-01-20 08-31-20 User2 07-15-20 12-31-20 User2 02-01-20 04-30-20 表>
您可以使用.GroupBy.agg()
来聚合重叠的日期范围,如下所示:
# convert dates to datetime format
df['start'] = pd.to_datetime(df['start'], format='%m-%d-%y')
df['end'] = pd.to_datetime(df['end'], format='%m-%d-%y')
# sort by columns User and start
df = df.sort_values(['User', 'start'])
# set group number of overlapping date ranges within the same user
g = df['start'].gt(df['end'].shift()).groupby(df['User']).cumsum()
# Aggregate the overlapping dates
df_out = df.groupby(['User', g], as_index=False).agg({'start': 'min', 'end': 'max'})
结果:
(将输入数据中的无效日期04-31-20
修改为04-30-20
):
print(df_out)
User start end
0 User1 2020-01-01 2020-04-30
1 User1 2020-10-01 2020-12-30
2 User2 2020-02-01 2020-04-30
3 User2 2020-06-01 2020-12-31
可选地,您还可以转换回日期格式,如下所示:
df_out['start'] = df_out['start'].dt.strftime('%m-%d-%y')
df_out['end'] = df_out['end'].dt.strftime('%m-%d-%y')
print(df_out)
User start end
0 User1 01-01-20 04-30-20
1 User1 10-01-20 12-30-20
2 User2 02-01-20 04-30-20
3 User2 06-01-20 12-31-20
相关内容
- 解析日期在Android 12中崩溃
- 应用程序在react native日期时间选择器的调试模式下崩溃
- 应用程序崩溃,与日期差异有关
- 在python pandas数据框架中重叠的日期正在崩溃
- 为什么日期时间对象之间的比较会导致powershell崩溃?
- 在特定屏幕上反应本机日期选择器应用程序崩溃
- 应用程序在日期时间之后崩溃 (日期时间.java) => 无效的日期格式。引发空的错误
- 当用户在新的 iOS 日期时间选取器中点击"Reset"时崩溃
- 在日期时间格式化程序上崩溃
- 为什么日期格式化程序崩溃?
- 在日期格式上崩溃
- 当我尝试访问 MailItem COM 中的任何日期相关字段时,Python 崩溃
- 显示日期选取器对话框时应用程序崩溃
- 将时间从字符串转换为日期仅在模拟器上崩溃
- 自定义日期选择器在运行Android API Level 21和22的三星设备上崩溃
- iPhone随机崩溃日期格式化
- dateFormat DD/mm/yyyy HH:MM Z正在将字符串转换为日期Swift 3.0时崩溃
- 使用日期时崩溃具有较大差异的组件
- 试图将firebase日期添加到listView,但我的应用程序一直在崩溃
- 为什么我的应用程序在接收日期崩溃了广播
最新更新
- 对于大一点的孩子(9岁以上的孩子),我需要什么样的iOS家长门?
- Understanding std::vector::push_back(std::move(v[i]))
- 你能找到解决这个问题的方法吗?
- 在使用相同group_id的kafka消费者中使用assign而不是subscribe是否有影响? &
- 让谷歌的见解清楚地表明,我的网站上有不止一个页面
- 我无法在反应中删除 html 标签
- 获取/读取邮件消息并输出纯文本
- 显示:表格单元格与行号不对齐
- 如何使用Toga应用访问Android通知
- 访问create_template_view api时出现INVALID_REQUEST_BODY错误
- 使用预处理器条件生成C/ c++变量名
- 此处映射计算路线API上的错误414
- Oracle数据库中的并行提示
- woocommerce在每个类别结帐后自定义重定向
- 是否有可能在AWS中设置一个webhook来监控特定的电子邮件地址,并将接收到的电子邮件信息传递给Lambda?<
- 仅使用numpy实现CNN时出错
- 过程展开不规则时间序列
- 插入多个带别名的外键
- 如何从API响应中提取Array
- WebLogic 14c -性能调优测试
- Google-Drive-API文件没有使用FORM_ID找到
- 尝试创建一个伸缩盒容器,但它不会创建盒子并显示文本
- 是否有一种方法(最好是R)从BirdLife数据区自动提取信息?
- 为什么process.env.JWT_EXPIRE未被发现?js筑巢
- Python记录器没有从根记录器继承level
- 是什么导致了python的f字符串中"f "{a}""与"f "{a=}""之间的差异?
- 标题库使用介子
- 打印偶数的"count",而循环使用 if
- 为什么我要将数组转换为对象
- 通过共享操作符将可连接的Flux转换为Hot不工作
热门标签:
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium