gpt4 book ai didi

python - 根据相应的列将数据框分割成文件夹和文件

转载 作者:行者123 更新时间:2023-12-01 08:06:40 27 4
gpt4 key购买 nike

customer    date    x   y   z
1 10/7/2015 0:00 4 4
1 10/7/2015 1:00 5 9 1
1 10/9/2015 0:00 4 0 3
2 10/7/2015 0:00 8 8 4
2 10/7/2015 1:00 4 5
3 10/7/2015 0:00 1
3 10/7/2015 1:00 4 0
3 10/9/2015 0:00 4 0

在上表中,我想根据“客户”列创建 3 个文件夹(1、2、3),每个文件夹都应具有根据“日期”列创建的 csv 文件。注意:日期列应根据日期而不是时间进行分组。例如,文件夹 1 应有 2 个 csv 文件,分别为 1072015.csv(2 条记录)和 1092015.csv(1 条记录)

文件夹 2 应包含 2 个 csv 文件,每个文件 1 条记录。

最佳答案

您可以groupby customer,以及使用dt访问器groupby date:

g = df.groupby(['customer', df.date.dt.date])

如果您的date不是日期时间,只需使用df['date'] = pd.to_datetime(df['date']) 首先。

<小时/>

现在您可以简单地循环遍历每个用户并日期到 create your folders和文件:

import os

for (user, date), group in g:
if not os.path.exists(str(user)):
os.makedirs(str(user))

fn = date.strftime('%m%d%Y')

group.iloc[:, 2:].to_csv(f'{user}/{fn}.csv', index=False)

结果如下所示:

test
├── 1
│   ├── 10072015.csv
│   └── 10092015.csv
├── 2
│   └── 10072015.csv
└── 3
├── 10072015.csv
└── 10092015.csv

3 directories, 5 files

以下是创建的文件的示例:

x,y,z
8,8.0,4.0
4,,5.0

关于python - 根据相应的列将数据框分割成文件夹和文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55504677/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com