python - 以累积方式隔离数据并根据日期保存在列中
问题描述
我有一个大的 csv 文件,其中包含根据日期的数据,我想创建一个 cumcount 类型的文件。例如:
name date
abc 01/01/2020
xyz 01/04/2020
dcd 01/04/2020
ddd 01/05/2020
fff 01/06/2020
ggg 01/12/2020
我想创建里程碑文件并保存它们,就像第一个文件将包含只有 01/01/2020 日期的数据并保存它,第二个文件应该有数据 01/01/2020 和 01/04/2020 并保存文件应该是 2020 年 1 月 1 日、2020 年 1 月 4 日和 2020 年 1 月 5 日等等.. 真实数据很大,所以会引起一些问题.. 有人知道吗.. 谢谢提前
解决方案
首先确保您的date
列是日期时间类型。然后按升序获取所有可能的日期。date
最后,增加日期窗口并将日期窗口中的列值导出为csv。
df['date'] = pd.to_datetime(df['date'])
dates = df['date'].sort_values().unique()
for i in range(1, len(dates)):
df_ = df[df['date'].isin(dates[:i])]
df_.to_csv(f'file{i}.csv', index=False)
推荐阅读
- r - data.table:查找每个组和列名的重复数据。输出组和重复列的名称
- ios - 动画更改滑块的最大值
- python - python 3.7中使用matplotlib的黑噪声
- aws-amplify - AWS Amplify 控制台部署到不同的账户
- mongodb - 如何丢弃引发错误的记录?
- mysql - ASP.NET 数据表:无法启用约束。一行或多行包含违反使用 MySql 的非空、唯一或外键约束的值
- laravel - 按属性获取价值
- spring-boot - SpringBoot with multi-project Gradle --> 主类名未配置,无法解析
- javascript - angular6中编辑表单的预选选项(下拉)
- vb.net - VB.net 重置 SMTP 连接