动态地将dict附加到空的Pandas.Dataframe中

时间:2017-03-30 17:56:08

标签: python pandas dataframe

我通过正则表达式逐行解析大量文本文件(~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: []

1 个答案:

答案 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"))