我通过正则表达式逐行解析大量文本文件(~10M行)来过滤和清理需要的内容。
每个matched.groupdict()
都会返回{'col1:'...','col2:'...','col3:'...'}
,我想将其收集到DataFrame中。就像数据库一样,每个条目都有自己的索引。
在过去的几天里,我对SO,Pandas.DataFrame文档,关于DataFrames的Coursera进行了大量研究,但没有任何效果。大多数解决方案建议创建一个我的groupdict()
列表,然后创建一个DataFrame,但这需要太多内存,我需要它更具动态性。
我该怎么办?
pattern = re.compile("(?P<col1>...)(?P<col2>...)(?P<col3>...)")
data = pd.DataFrame()
with open("massive.txt", 'r') as massive:
for line in massive:
matched = pattern.search(line)
if(matched):
data.append(matched.groupdict(), ignore_index=True)
data
Empty DataFrame
Columns: []
Index: []
答案 0 :(得分:2)
......傻傻的我
library(dplyr)
library(zoo)
mtcars[1:10, 1:2] %>%
arrange(cyl) %>%
group_by(cyl) %>%
mutate(avg = rollmean(mpg, 2, na.pad = TRUE, align = "right"))