有没有一种方法可以通过指定时间范围将两个表在时间列上的大熊猫中连接在一起? - python

说我有两个数据帧df1和df2。它们都具有以下形式的列

Date/Time
01-06-2013 23:00:00
02-06-2013 01:00:00
02-06-2013 21:00:00
02-06-2013 22:00:00
02-06-2013 23:00:00

我想要一个功能

join_temporal(range=<num>, unit= <"seconds" xor "minutes" xor "hours" xor "days">, df1, df2)

所以如果我打电话

join_temporal(range=3, unit="days", df1, df2)

我加入了3天范围内的行。

如果我打电话

join_temporal(range=2, unit="hours", df1, df2)

我加入了2小时范围内的行。

有一些好的熊猫选项可以帮助实现join_temporal函数吗?

python参考方案

我想不出任何可以执行此操作的内置方法。我的建议是创建一个新列,其中包含以较小粒度形式(即天或小时)表示的日期时间。如果要舍入到固定频率,请使用round。否则,DateOffset应该可以帮助您找到最近的日期/月份/年份。然后,您可以使用groupby在该列上进行聚类。

由于您没有提供和采样数据,因此我不太确定“连接”行的含义。取决于此,可能会有更好的解决方案。这还取决于是否有任何一组的最大大小。

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…

Python:如何根据另一列元素明智地查找一列中的空单元格计数? - python

df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice','Jane', 'Alice','Bob', 'Alice'], 'income…

查找字符串中的行数 - python

我正在创建一个python电影播放器​​/制作器,我想在多行字符串中找到行数。我想知道是否有任何内置函数或可以编写代码的函数来做到这一点:x = """ line1 line2 """ getLines(x) python大神给出的解决方案 如果换行符是'\n',则nlines …

Python pytz时区函数返回的时区为9分钟 - python

由于某些原因,我无法从以下代码中找出原因:>>> from pytz import timezone >>> timezone('America/Chicago') 我得到:<DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD…