0
votes

Comment ajouter différentes données de colonnes dans chaque ligne de CSV dupliquée à l'aide de Python?

J'ai le scénario suivant: strong> j'ai un fichier train.csv comme celui ci-dessous. Chaque ligne est mentionnée 4 fois avec la même valeur d'index.

Index sentence ending-id ending 
0       ABC       0        DEF    
0       ABC       1        GHI    
0       ABC       2        JKL    
0       ABC       3        MNO    
1       LKJ       0        KJS 
...     ...      ...       ...
...
...   


0 commentaires

4 Réponses :


0
votes
df = _df.copy()
df = pd.melt(df.drop_duplicates(), id_vars=['sentence', 'Index'], value_vars=['ending0','ending1','ending2','ending3'])
df['ending-id'] = df.variable.str.extract('([0-9]+)')
df.rename(columns={'value':'ending'}, inplace=True)
df.drop('variable', axis=1, inplace=True)
df.set_index('Index', inplace=True)

4 commentaires

Votre réponse est correcte dans une certaine mesure merci. Mais je veux une fin différente dans la rangée d'accès du même index. Par exemple: sentence d'index fin de 0 ABC def 0 ABC GHI 0 ABC JKL


@Overdose vérifie mon édition. Est-ce ce que vous vouliez dire, ou avez-vous envie de vous débarrasser des doublons en premier?


J'ai répondu à ma question ci-dessous pour démontrer le résultat final. J'apprécie vraiment votre aide. :)


Merci pour l'aide :)



0
votes

Je reçois le résultat ci-dessous avec ce code jusqu'à présent.

Index sentence ending-id ending 
0       ABC       0        DEF    
0       ABC       1        GHI    
0       ABC       2        JKL    
0       ABC       3        MNO  


1 commentaires

@warped s'il vous plaît jeter un oeil à cela.



1
votes

Vous pouvez essayer quelque chose comme ceci: xxx

sortie: xxx


2 commentaires

Merci pour l'aide que j'ai eu ce dont j'ai besoin. :)


Bien sûr, content que ça vous aide. @Overdose peut-être pourriez-vous Accepter IT? :)



0
votes

@ mrnobody33 Je reçois le résultat ci-dessous avec ce code jusqu'à présent.

Index sentence ending-id ending 
0       ABC       0        DEF    
0       ABC       1        GHI    
0       ABC       2        JKL    
0       ABC       3        MNO  


2 commentaires

@ Mrnobody33 S'il vous plaît jeter un oeil à cela s'il vous plaît. J'apprécie vraiment votre aide à cet égard. Nous y sommes presque :)


Ouais, voir la dernière édition de ma réponse @overdose :), où j'ai utilisé insérer et réinitialiser_index ('index') . Si la colonne df ['index'] est déjà votre Dataframe.index, effacez le réinitialiser_index ('index') à partir de la deuxième ligne de code.