La création d'une pandas DataFrame de colonnes des autres DataFrames avec les mêmes indices
J'ai 2 DataFrames df1 et df2 avec les mêmes noms de colonnes ['a','b','c'] et indexé par les dates.
La date index peut avoir des valeurs similaires.
Je voudrais créer un DataFrame df3 avec uniquement les données des colonnes ['c'] renommés respectivement " df1 " et "df2", et avec la date correcte de l'index. Mon problème est que je ne peut pas obtenir de la manière de fusionner l'indice.
df1 = pd.DataFrame(np.random.randn(5,3), index=pd.date_range('01/02/2014',periods=5,freq='D'), columns=['a','b','c'] )
df2 = pd.DataFrame(np.random.randn(8,3), index=pd.date_range('01/01/2014',periods=8,freq='D'), columns=['a','b','c'] )
df1
a b c
2014-01-02 0.580550 0.480814 1.135899
2014-01-03 -1.961033 0.546013 1.093204
2014-01-04 2.063441 -0.627297 2.035373
2014-01-05 0.319570 0.058588 0.350060
2014-01-06 1.318068 -0.802209 -0.939962
df2
a b c
2014-01-01 0.772482 0.899337 0.808630
2014-01-02 0.518431 -1.582113 0.323425
2014-01-03 0.112109 1.056705 -1.355067
2014-01-04 0.767257 -2.311014 0.340701
2014-01-05 0.794281 -1.954858 0.200922
2014-01-06 0.156088 0.718658 -1.030077
2014-01-07 1.621059 0.106656 -0.472080
2014-01-08 -2.061138 -2.023157 0.257151
Le df3 DataFrame devrait avoir la forme suivante :
df3
df1 df2
2014-01-01 NaN 0.808630
2014-01-02 1.135899 0.323425
2014-01-03 1.093204 -1.355067
2014-01-04 2.035373 0.340701
2014-01-05 0.350060 0.200922
2014-01-06 -0.939962 -1.030077
2014-01-07 NaN -0.472080
2014-01-08 NaN 0.257151
Mais avec NaN dans le df1 colonne de la date de l'indice de df2 est plus large. (Dans cet exemple, je voudrais obtenir NaN pour le suivi des dates : 2014-01-01, 2014-01-07 and 2014-01-08
)
Merci pour votre aide.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser concat:
L'axe argument détermine la manière dont le DataFrames sont empilés:
keys
argument pour? aussiaxis
?Bien, je ne suis pas sûr que l'opération de fusion serait la voie à suivre. Personnellement, je voudrais construire un nouveau bloc de données en créant un index des dates et de la construction de l'colonnes à l'aide interprétations de la liste. Peut-être pas le plus pythonic façon, mais il semble fonctionner pour moi!