I ont deux trames de données:valeurs append pandas géants où la valeur est égale à une autre valeur
dfi = pd.read_csv('C:/Users/Mauricio/Desktop/inflation.csv')
dfm = pd.read_csv('C:/Users/Mauricio/Desktop/maturity.csv')
# equals the following
observation_date CPIAUCSL
0 1947-01-01 21.48
1 1947-02-01 21.62
2 1947-03-01 22.00
3 1947-04-01 22.00
4 1947-05-01 21.95
observation_date DGS10
0 1962-01-02 4.06
1 1962-01-03 4.03
2 1962-01-04 3.99
3 1962-01-05 4.02
4 1962-01-08 4.03
J'ai créé une copie comme df procédant comme suit:
df = dfi.copy(deep=True)
qui retourne une copie exacte de dfi, dfi dates passent mois et DFM dates passent jour, je veux créer une nouvelle colonne dans df que chaque fois une date dans dfi == une date dans dfm, pour y ajouter la valeur DGS10.
J'ai ce jusqu'à présent:
for date in df.observation_date:
for date2 in dfm.observation_date:
if date==date2:
df['mat_rate'] = dfm['DGS10']
# this is what I get but dates do not match values
observation_date CPIAUCSL mat_rate
0 1947-01-01 21.48 4.06
1 1947-02-01 21.62 4.03
2 1947-03-01 22.00 3.99
3 1947-04-01 22.00 4.02
4 1947-05-01 21.95 4.03
Il fonctionne, mais ne recevront pas les dates où la date == date2 ce que je peux le faire, il ajoute les valeurs où la date est égale à date2 seulement? Merci!
Euh, ces dates ne sont pas égaux si, Comment combinez-vous toujours les lignes? –
@ cᴏʟᴅsᴘᴇᴇᴅ ce ne sont que les 4 premières dates, l'ensemble des données est 14000 entrées, c'est pourquoi il trouve cette date == date2 à un moment donné dans la boucle – MAUCA