2017-06-22 3 views
2

J'ai deux pandas géants dataframesComment fusionner deux trames de données dans un pandas?

Unnamed: 0 sentiment numberagreed tweetid tweet 
0 0 2 6 219584 Apple processa a Samsung no Japão - Notícias -... 
1 1 1 3 399249 É O JACKI CHAN !!! RT @user ESSE É DOS MEUS!!!... 
2 2 3 3 387155 Eras o samsung galaxy tab e muito lerdo para t... 
3 3 3 3 205458 Dizem que a coisa mais triste que o homem enfr... 
4 4 3 3 2054404 RAIVA vou ter que ir com meu nike dinovo pra e... 

tweetid sent 
219584 0.494428 
399249 0.789241 
387155 0.351972 
205458 0.396907 
2054404 0.000000 

Ils ne sont pas la même longueur et il y a des valeurs manquantes dans la seconde trame de données

Je veux fusionner les deux trames de données basées sur la tweetid et déposez le les valeurs manquantes

+0

Il sera plus facile d'obtenir de bonnes réponses si vous posez vos questions avec un exemple exécutable minimal. C'est à dire. au lieu d'afficher les tables préformées, incluez un exemple de pour les créer. –

Répondre

2

Utilisez pd.merge

pd.merge(left=df1, right=df2, on='tweetid', how='inner') 

Parce que vous prenez le inner, les pièces qui ne se chevauchent pas seront jetées. on='tweetid' le fusionne sur tweetid.

+0

il donne KeyError: 'tweetid' Comment est-ce!? –

+0

@MuhammedEltabakh c'est probablement parce que votre nom de colonne est différent – mtkilic

+0

@MuhammedEltabakh Cela signifie qu'il n'y a pas de colonne nommée 'tweetid'. Assurez-vous que les colonnes sont nommées correctement – Mathias711

0

Il y a probablement un caractère supplémentaire quelque part au début de votre fichier. Lisez-vous les données d'un fichier csv? Postez le code source de la façon dont vous lisez les données.

ou de nommer vos colonnes sur les deux données.

df_tweets.columns = ("tweetid", "sent")