【发布时间】:2015-05-08 17:24:22
【问题描述】:
假设我想用循环中的值创建并填充一个空数据框。
import pandas as pd
import numpy as np
years = [2013, 2014, 2015]
dn=pd.DataFrame()
for year in years:
df1 = pd.DataFrame({'Incidents': [ 'C', 'B','A'],
year: [1, 1, 1 ],
}).set_index('Incidents')
print (df1)
dn=dn.append(df1, ignore_index = False)
即使忽略索引为假,追加也会给出对角矩阵:
>>> dn
2013 2014 2015
Incidents
C 1 NaN NaN
B 1 NaN NaN
A 1 NaN NaN
C NaN 1 NaN
B NaN 1 NaN
A NaN 1 NaN
C NaN NaN 1
B NaN NaN 1
A NaN NaN 1
[9 rows x 3 columns]
应该是这样的:
>>> dn
2013 2014 2015
Incidents
C 1 1 1
B 1 1 1
A 1 1 1
[3 rows x 3 columns]
有没有更好的方法来做到这一点?有没有办法修复附加?
我有熊猫版本'0.13.1-557-g300610e'
【问题讨论】:
-
您是否需要以这种方式发生事件,或者普通的数据框对您来说很好(我的意思是一个带有名称的矩阵)?