我有一个长度为(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:如何根据另一列元素明智地查找一列中的空单元格计数? - pythondf = 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…