Votre idée de créer la dict première est probablement la meilleure façon:
>>> from pandas import *
>>> DataFrame({c: [1,2] for c in 'sp'})
p s
0 1 1
1 2 2
(ici en utilisant compréhensions dictionnaire, disponible en Python 2.7). Juste pour être complet, cependant, vous pouvez - inefficacement - utiliser join
ou concat
pour obtenir une approche colonne par colonne pour travailler:
>>> df = DataFrame()
>>> for c in 'sp':
... df = concat([df, DataFrame({c: [1,2]})], axis=1)
...
>>> print df
s p
0 1 1
1 2 2
>>>
>>> df = DataFrame()
>>> for c in 'sp':
... df = df.join(DataFrame({c: [1,2]}), how='outer')
...
>>> print df
s p
0 1 1
1 2 2
Mais votre idée [Vous pouvez voir la différence dans l'ordre des colonnes.] de construire le dict puis de construire le DataFrame à partir du dict construit est une bien meilleure approche.