我编写了一个程序(下面的代码),该程序为文件夹中的每个文件提供一个数据框。数据框中是文件中的年份和季度(计数在文件中出现的频率)。循环中一个文件的输出例如:
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()
答案 0 :(得分:0)
我认为您需要将所有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)