如何将数据帧转换为一个大数据帧?

时间:2019-05-23 13:33:26

标签: python pandas dataframe

我编写了一个程序(下面的代码),该程序为文件夹中的每个文件提供一个数据框。数据框中是文件中的年份和季度(计数在文件中出现的频率)。循环中一个文件的输出例如:

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 :(得分:0)

我认为您需要将所有Series附加到列表中,然后针对每个索引值使用concatsum

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)