0
votes

Python multiple deux 2 identiques deataframe pour former un nouveau Dataframe

J'ai 2 dataframes qui semblent similaires:

DF1:

 Entrez la description de l'image ici

DF2:

 Entrez la description de l'image ici

Je veux mettre à jour la colonne "longueur" dans DF1 en multipliant les valeurs de DF2 (pour la combinaison "Pays" - "Ville"):

 Entrez la description de l'image ici

Quelques Google, mais ne pouvaient trouver que quelque chose comme, fusionner ou concat. Rien de tel que de multiplier entre les dataframes.

Toute aide serait très appréciée.


0 commentaires

3 Réponses :


0
votes

Vous pouvez d'abord participer à 2 dfs basé sur pays, ville pour obtenir la longueur1 et la longueur2 dans la même dim-df. xxx

Multiplier les deux colonnes de longueur vous avez.

renommer l'une des colonnes longueur. ne fonctionne pas si 2 colonnes ont le même nom.


0 commentaires

0
votes

Vous pouvez fusionner les colonnes basées sur le pays et la ville, puis créez une nouvelle colonne dans laquelle vous calculez les nouvelles valeurs, puis mettez la mise à jour de votre DataFrame:

# import df1
df1 = pd.read_excel(df1_from_directory)
df2 = pd.read_excel(df2_from_directory)


df1_test = df1
df2_test = df2

# merge the values from df1 basaed on city and country
df_merged = df1_test.merge(df2_test,on=["country","city"],how = "left")
df_merged

# create a new column in which you calculate the new values
df1_new_length = df_merged["df1_length"] * df_merged["length"]

# update the old column with the new values
df1_test.df1_length = df1_new_length

#
print(df1_test)


0 commentaires

0
votes

La fonction PADAS MULTIINDEX est faite pour ce type de calcul. Ré-indexez les données de données à xxx

et ensuite multipliez simplement les 2 images: xxx

si vous le souhaitez Vous pouvez réduire l'index après: xxx


0 commentaires