Pandas 每隔一天分割一次数据集
我有一个数据集,我收集了很多天,并按日历日索引。每天都有不同数量的条目。我想看看奇数天(如第1天、第3天、第5天等)是否与偶数天(如第2天、第4天、第6天等)相关,为此,我必须将数据集分成两部分 我无法使用第%2天,因为我的集合中缺少了一些日子和周末,因此无法使用第%2天。我尝试过使用如下重采样:Pandas 每隔一天分割一次数据集,pandas,Pandas,我有一个数据集,我收集了很多天,并按日历日索引。每天都有不同数量的条目。我想看看奇数天(如第1天、第3天、第5天等)是否与偶数天(如第2天、第4天、第6天等)相关,为此,我必须将数据集分成两部分 我无法使用第%2天,因为我的集合中缺少了一些日子和周末,因此无法使用第%2天。我尝试过使用如下重采样: df_odd = df.resample('2D') lowest_date = df['date_minus_time'].min() df_even = df.query('date_minu
df_odd = df.resample('2D')
lowest_date = df['date_minus_time'].min()
df_even = df.query('date_minus_time != @lowest_date).resample('2D')
但它坚持按天汇总数据。我希望保留所有行,以便对结果数据集执行进一步的操作(例如groupby)
如何创建两个数据帧,一个包含所有日期为“偶数”的行,另一个包含所有日期为“奇数”的行,偶数和奇数与数据集的第一天相对
以下是一些示例数据:
Date var
2018-12-10 1
2018-12-10 0
2018-12-10 1
2018-12-10 0
2018-12-11 1
2018-12-11 1
2018-12-12 0
2018-12-12 1
2018-12-12 1
2018-12-14 1
2018-12-14 0
2018-12-14 1
2018-12-16 1
2018-12-16 1
2018-12-16 1
以及预期产量:
奇数:
Date var
2018-12-10 1
2018-12-10 0
2018-12-10 1
2018-12-10 0
2018-12-12 0
2018-12-12 1
2018-12-12 1
2018-12-16 1
2018-12-16 1
2018-12-16 1
df_偶数:
Date var
2018-12-11 1
2018-12-11 1
2018-12-14 1
2018-12-14 0
2018-12-14 1
将
pd.category
与一起使用.code
num = pd.Categorical(df.Date).codes + 1
df_odd = df[num%2 == 0]
df_even = df[num%2 == 1]
df_odd
Date var
0 2018-12-10 1
1 2018-12-10 0
2 2018-12-10 1
3 2018-12-10 0
6 2018-12-12 0
7 2018-12-12 1
8 2018-12-12 1
12 2018-12-16 1
13 2018-12-16 1
14 2018-12-16 1
df_even
Date var
4 2018-12-11 1
5 2018-12-11 1
9 2018-12-14 1
10 2018-12-14 0
11 2018-12-14 1
您可以通过
df.date\u减去\u time.day.dt.day
来访问日期,该日期提供了实际的天数(例如2019年2月21日->1985年3月13日21日->13
)。但我不确定这是您想要的。您能提供示例数据和预期输出吗?@runout我添加了一个示例。广亨,我不能用它,因为我希望一半的数据在一个数据中结束,另一半在另一个数据中结束。在我使用实际日期发布的示例中,会给我一个12月10日、12日、14日、16日的数据帧,另一个只有12月11日的数据帧。