我有一个pandas数据框如下。这个数据框大约有一个月的时间。如何根据周划分此数据框?我需要每4周保存一次作为单独的4个CSV文件。
Time Stamp Id Latitude Longitude
01/10/2016 15:22:51:700 1 23 50
01/10/2016 16:28:08:026 1 23 50
01/10/2016 16:28:09:026 1 12 45
02/10/2016 19:00:08:026 2 23 50
02/10/2016 20:28:08:026 1 23 50
03/10/2016 19:00:08:000 2 23 50
03/10/2016 01:02:33:123 2 23 50
03/10/2016 06:15:08:500 1 23 50
03/10/2016 10:01:07:022 3 28 88
......
......
31/10/2016 13:09:17:044 1 33 80
我的预期输出是:
Time Stamp Id Latitude Longitude
01/10/2016 15:22:51:700 1 23 50
01/10/2016 16:28:08:026 1 23 50
01/10/2016 16:28:09:026 1 12 45
02/10/2016 19:00:08:026 2 23 50
02/10/2016 20:28:08:026 1 23 50
03/10/2016 19:00:08:000 2 23 50
03/10/2016 01:02:33:123 2 23 50
03/10/2016 06:15:08:500 1 23 50
03/10/2016 10:01:07:022 3 28 88
......
......
07/10/2016 03:09:10:066 5 28 78
这应该是我的第一周。下周将于2016年10月8日至2017年10月14日,2016年10月15日至2017年10月21日以及2016年10月22日至2017年10月31日期间。
答案 0 :(得分:2)
您可以先将列转换为@Override
public void forEachRemaining(Consumer<? super Node> action) {
Node current = pendingNode;
if(current != null) {
pendingNode = null;
action.accept(current);
}
for(;;) {
current = pending.poll();
if(current == null) break;
traverseLocal(action, current);
}
}
private void traverseLocal(Consumer<? super Node> action, Node current) {
do {
action.accept(current);
Node child = current.getLeft();
if(child!=null) traverseLocal(action, child);
current = current.getRight();
} while(current != null);
}
,然后再转换为strftime
datetime
。
上一轮year-weekofyear
并致电to_csv
:
groupby
答案 1 :(得分:1)
假设Time Stamp
属于datetime
dtype:
df.groupby(pd.Grouper(key='Time Stamp', freq='W')) \
.apply(lambda x: x.to_csv(r"/path/to/{}W{}.csv".format(x.name.year,x.name.week)))