import pandas as pdyears = [2013, 2014, 2015]dn = []for year in years: df1 = pd.Dataframe({'Incidents': [ 'C', 'B','A'], year: [1, 1, 1 ], }).set_index('Incidents') dn.append(df1)dn = pd.concat(dn, axis=1)print(dn)
产量
2013 2014 2015Incidents C 1 1 1B 1 1 1A 1 1 1
请注意,调用
pd.concat一次 的循环之外更多的时间效率比调用
pd.concat与循环的每个迭代。
每次调用时,都会
pd.concat为新的Dataframe分配新的空间,并将来自每个组件Dataframe的所有数据复制到新的Dataframe中。如果
pd.concat从for循环中进行调用,那么最终将按照
n**2副本的顺序进行 *** 作,这
n是年数。
如果您在列表中累积部分Dataframe并在列表
pd.concat外调用一次,则Pandas仅需要执行
nmake的副本
dn。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)