Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫:如何对非连续日期列进行分组?_Python_Pandas_Datetime - Fatal编程技术网

Python 熊猫:如何对非连续日期列进行分组?

Python 熊猫:如何对非连续日期列进行分组?,python,pandas,datetime,Python,Pandas,Datetime,我在数据框中有一列,其中包含非连续日期。我需要将这些日期按2天的频率分组。数据样本(标准化后): 我尝试了以下,但由于日期不连续,我没有得到想要的结果 df.groupby(pd.Grouper(key = 'l_date', freq='2D')) 这些是使用pandas实现所需分组的一种方法,还是我应该编写一个单独的逻辑?一旦您有了l\u日期排序数据帧。您可以创建一个连续的虚拟日期(dum_date)列,并在其上按2D频率分组 或 如果你对日期以外的分组没意见。然后,将n连续行分组的一般方

我在数据框中有一列,其中包含非连续日期。我需要将这些日期按2天的频率分组。数据样本(标准化后):


我尝试了以下,但由于日期不连续,我没有得到想要的结果

df.groupby(pd.Grouper(key = 'l_date', freq='2D'))

这些是使用pandas实现所需分组的一种方法,还是我应该编写一个单独的逻辑?

一旦您有了
l\u日期
排序数据帧。您可以创建一个连续的虚拟日期(
dum_date
)列,并在其上按
2D
频率分组

如果你对日期以外的分组没意见。然后,将
n
连续行分组的一般方法可以是:

n = 2                                                      # n = 2 for your use case
df = df.sort_values(by='l_date')
df['grouping'] = [(i//n + 1) for i in range(df.shape[0])]

df.groupby(pd.Grouper(key = 'grouping'))

“我没有得到期望的结果。”,您得到了什么输出?您的代码将日期与2个日历日的BIN组合在一起。你只是想把连续的行组合在一起吗?@ALollz没错。
df = df.sort_values(by='l_date')
df['dum_date'] = pd.date_range(pd.datetime.today(), periods=df.shape[0]).tolist()

df.groupby(pd.Grouper(key = 'dum_date', freq='2D'))
n = 2                                                      # n = 2 for your use case
df = df.sort_values(by='l_date')
df['grouping'] = [(i//n + 1) for i in range(df.shape[0])]

df.groupby(pd.Grouper(key = 'grouping'))