在单帧Python中用数据写入文件名 - python

我有一个长度为(141,2)的数据帧,重复了Year和Month,从一个文件夹中删除了文件,该文件夹看起来像:

Year          Month
2017            1
2017            1
2017            1
2017            1
2017            1
2017            1
2017            1
.
.

我剥离的每个文件都有大约(20000,6)行,我想在每个文件上重复“年”和“月”。

我从目录中获取文件列表,以剥离年份和月份,例如:

path = os.path.join(os.getcwd(),'C:\\.....')
files = [os.path.join(path,i) for i in os.listdir(path) if os.path.isfile(os.path.join(path,i))]

然后从列表files中,我只遍历每个文件,例如:

for file in files:
    df['Year'] = os.path.split(file)[1]
    df['Year'] = df['Year'].map(lambda x: str(x)[:-6])

我如何才能将整个文件写入数据帧,并将我重复删除的这些日期加入到文件的整个长度中?

即:仅将(141,2)数据帧追加并成为(20000,2)帧?

参考方案

Dask可以轻松地从具有路径通配符的文件的整体中构造一个数据帧,例如"./*.csv",但这可能对您的问题有些过大。

另一种方法是使用concat

df = pd.concat([pd.read_csv(f, ...) for f in files, ignore_index=True])

编辑:

进行后台处理以执行map基本上如下所示:

df = []
for file in files:
    tdf = pd.DataFrame()
    tdf['Year'] = os.path.split(file)[1]
    df.append(tdf['Year'].map(lambda x: str(x)[:-6]))
 df = pd.concat(df, ignore_index=True)

Python:如何根据另一列元素明智地查找一列中的空单元格计数? - python

df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice','Jane', 'Alice','Bob', 'Alice'], 'income…

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。

如何用'-'解析字符串到节点js本地脚本? - python

我正在使用本地节点js脚本来处理字符串。我陷入了将'-'字符串解析为本地节点js脚本的问题。render.js:#! /usr/bin/env -S node -r esm let argv = require('yargs') .usage('$0 [string]') .argv; console.log(argv…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

Python:传递记录器是个好主意吗? - python

我的Web服务器的API日志如下:started started succeeded failed 那是同时收到的两个请求。很难说哪一个成功或失败。为了彼此分离请求,我为每个请求创建了一个随机数,并将其用作记录器的名称logger = logging.getLogger(random_number) 日志变成[111] started [222] start…