繁体   English   中英

根据值创建两个Pandas DataFrame

[英]Create two Pandas DataFrames based on values

我正在尝试创建两个熊猫数据框。

我要处理的数据是每月的几天。 以下示例显示了跨越两个月的日期。 您可以看到第一天是该月的19日。 然后,该列数据将一直持续到下个月的19日。

我需要一种将数据分成两个数据帧的方法-第一个df从19-30开始,第二个df从01-19开始。

这是我目前的df。

Days
0     19
1     20
2     21
3     22
4     23
5     24
6     25
7     26
8     27
9     28
10    29
11    30
12     1
13     2
14     3
15     4
16     5
17     6
18     7
19     8
20     9
21    10
22    11
23    12
24    13
25    14
26    15
27    16
28    17
29    18
30    19

我需要数据帧看起来像这样:

df - Number 1

0     19
1     20
2     21
3     22
4     23
5     24
6     25
7     26
8     27
9     28
10    29
11    30


df - Number 2

0     1
1     2
2     3
3     4
4     5
5     6
6     7
7     8
8     9
9     10
10    11
11    12
12    13
13    14
14    15
15    16
16    17
17    18
18    19

我尝试使用.shift方法检查以前的值是否大于下一个,但这仅适用于查找月份的结束时间。

timesheet_df['match'] = timesheet_df.Days > timesheet_df.Days.shift()

使用diffcumsum创建密钥, groupby将子组保存到dict

d={x : y for x , y in df.groupby(df.Days.diff().lt(0).cumsum())}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM