Как преобразовать фреймы данных в один большой фрейм данных? - PullRequest
1 голос
/ 23 мая 2019

Я написал программу (код ниже), которая дает мне для каждого файла в папке фрейм данных.Во фрейме данных указаны кварталы в году из файла и счетчики (как часто кварталы встречаются в файле).Выходные данные для одного файла в цикле выглядят, например, следующим образом:

2008Q4    230
2009Q1    186
2009Q2    166
2009Q3    173
2009Q4    246
2010Q1    341
2010Q2    336
2010Q3    200
2010Q4    748
2011Q1    625
2011Q2    690
2011Q3    970
2011Q4    334
2012Q1    573
2012Q2     53

Как создать большой кадр данных, в котором значения для кварталов суммируются для всех файлов в папке?

path = "crisisuser"
os.chdir(path)
result = [i for i in glob.glob('*.{}'.format("csv"))]
os.chdir("..")
for i in result:
    df = pd.read_csv("crisisuser/"+i)
    df['quarter'] = pd.PeriodIndex(df.time, freq='Q')
    df=df['quarter'].value_counts().sort_index()

1 Ответ

0 голосов
/ 23 мая 2019

Я думаю, вам нужно добавить все Series в список, а затем использовать concat и sum для значений индекса:

out = []
for i in result:
    df = pd.read_csv("crisisuser/"+i)
    df['quarter'] = pd.PeriodIndex(df.time, freq='Q')
    out.append(df['quarter'].value_counts().sort_index())

s = pd.concat(out).sum(level=0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...