我有一个目录,其中包含我想要更改的全套 csv 文件。每个 csv 都有一行包含日期,我想添加一个从文件长度倒数到 1 的列(因此文件中最后一个最近的日期在该列中的值为 1。
我尝试了以下方法:
>import os
>import pandas as pd
>for f in os.listdir(path):
> df = pd.read_csv(f)
> df['Countdown'] = range(len(df), 1, -1)
这给了我一个错误
FileNotFoundError:文件 b'Data.csv' 不存在
这很奇怪,因为它给出了目录中数据文件的特定名称,因此它可以清楚地看到该文件,因为它在错误消息中使用了它的名称。
我也尝试过使用 glob。
>import glob
>data_set = glob.glob(path)
>for f in data_set:
> df = pd.read_csv(f)
> df['Countdown'] = range(len(df), 1, -1)
这不起作用,因为它说:
ValueError:值的长度与索引的长度不匹配
这个错误对我来说很有意义,因为随着我向其中添加更多文件,数据帧的长度会不断增加,因此“len(df)”参数正在发生变化并且与索引不匹配。
我相信我正在尝试做的事情并不太独特,我只是很难找到执行这项任务的最佳方法。同样,我正在寻找的结果是,每个文件都有一个从最早日期倒数到数据帧长度的列,并且最近日期的值为 1。
谢谢您的帮助。