首页 > 解决方案 > 在python上方插入行的值

问题描述

我在下面有一个csv:

ID 日期时间标志
1 2018 年 5 月 14 日 00:01:00 南
1 2018 年 5 月 14 日 00:02:00 南
1 2018 年 5 月 14 日 00:03:00 南
1 2018 年 5 月 14 日 00:04:00 南
1 2018 年 5 月 14 日 00:05:00 南
1 2018 年 5 月 14 日 00:06:00 南
1 2018 年 5 月 14 日 00:07:00 南
1 2018 年 5 月 14 日 00:08:00 南
1 2018 年 5 月 15 日 00:01:00 1
1 2018 年 5 月 15 日 00:02:00 1
1 2018 年 5 月 16 日 00:01:00 1
1 2018 年 5 月 16 日 00:02:00 1

2 2018 年 10 月 7 日 00:03:00 南
2 2018 年 10 月 7 日 00:04:00 南
2 2018 年 10 月 7 日 00:05:00 南
2 2018 年 10 月 7 日 00:06:00 南
2 2018 年 10 月 7 日 00:07:00 南
2 2018 年 10 月 7 日 00:08:00 南
2 2018 年 11 月 7 日 00:01:00 1
2 2018 年 11 月 7 日 00:02:00 1
2 2018 年 12 月 7 日 00:01:00 1
2 2018 年 12 月 7 日 00:02:00 1

我想只更新第一行上方的 4 行(仅是当天的第一天和当天的第一次),每个 ID 的 Flag=1。

预期的csv:

1 2018 年 5 月 14 日 00:01:00 南
1 2018 年 5 月 14 日 00:02:00 南
1 2018 年 5 月 14 日 00:03:00 南
1 2018 年 5 月 14 日 00:04:00 南
1 2018 年 5 月 14 日 00:05:00 1
1 2018 年 5 月 14 日 00:06:00 1
1 2018 年 5 月 14 日 00:07:00 1
1 2018 年 5 月 14 日 00:08:00 1
1 2018 年 5 月 15 日 00:01:00 1
1 2018 年 5 月 15 日 00:02:00 1
1 2018 年 5 月 16 日 00:01:00 1
1 2018 年 5 月 16 日 00:02:00 1

2 2018 年 10 月 7 日 00:03:00 南
2 2018 年 10 月 7 日 00:04:00 南
2 2018 年 10 月 7 日 00:05:00 1
2 2018 年 10 月 7 日 00:06:00 1
2 2018 年 10 月 7 日 00:07:00 1
2 2018 年 10 月 7 日 00:08:00 1
2 2018 年 11 月 7 日 00:01:00 1
2 2018 年 11 月 7 日 00:02:00 1
2 2018 年 12 月 7 日 00:01:00 1
2 2018 年 12 月 7 日 00:02:00 1

我怎样才能做到这一点。谢谢。

标签: python

解决方案


由于您将所有Flag值更改为 1:

import pandas as pd

df = pd.read_csv('path/to/csv.csv')
df['Flag'] = 1
df.to_csv('path/to/csv.csv', index=False)

但是,如果您不想更新所有Flag值,请查看lociloc以访问DataFrame.


推荐阅读