0
votes

Comment regrouper les lignes et résumer les valeurs dans une colonne de Python

J'ai un fichier séparé par tabulation comme cet exemple:

petit exemple: p> xxx pré>

Je veux regrouper les lignes en fonction de 5ème code> , 6th code> et 7th code> colonnes et somme les valeurs de 4th code> de chaque groupe. Voici la sortie attendue: p>

Sortie attendue: P>

import pandas as pd
df = pd.read_csv('myfile.txt', sep='\t', header=None)
df = df.groupby(5, 6, 7, 8).sum()


1 commentaires

Dupliqué possible de Pandas Group-by and Sum


4 Réponses :


0
votes

Essayez ceci:

df.groupby(['column1', 'column2'])


0 commentaires

0
votes

Dataframe d'entrée: Ne tenant compte que les 3 premières lignes, xxx pré>

aime ceci, p> xxx pré>

sortie: ceci est un multi-niveau trame de données. La dernière colonne est votre sortie, P>

col5  col6       col7       col8  
chr5  112312630  112321662  DCP2       31
      137676883  137676949  FAM53C    165


6 commentaires

Ce retour: 2994450 2994675 rhno1 ENST00000461997.2 CHR12 7155218 7155278 CTDNEP1 ENST00000318988.6 CHR17CHR17 9286722 9286821 DENND5A ENST00000328194.3 CHR11


@ user10657934 Fournissez votre fichier de jeu de données afin que je puisse résoudre ce problème.


L'exemple de la question est exactement une partie de mon fichier


@ user10657934 Permettez-moi de faire de l'image de données de ceci et de vous donner un exemple de code dans un moment.


@ user10657934 char5 est une colonne de données ou une index?


@ user10657934 Regardez la réponse mise à jour. Faites-moi savoir si cela a bien fonctionné pour vous.



1
votes

Il vous suffit de regrouper les colonnes:

df.groupby([5,6,7,8]).sum()


2 commentaires

Non, il s'agit de toutes les colonnes numériques par Somme et op n'ont besoin que de 4. Colonne, mais il est également nécessaire de ne pas perdre toutes les autres colonnes - Vérifiez ma solution


Je mets op sur le chemin ... Après bien sûr, si peut être réglé.



1
votes

Vous avez besoin d'agrégats par < Code> DataFramegroupby.agg avec dictionnaire de colonnes avec fonctions agrégées, ici toute la colonne différente par cols est globate par Dernier ou premier , seulement 4 colonne est agrégée par somme : xxx


xxx

0 commentaires