Diviser une série de Pandas et les attribuer dans des colonnes séparées

aBiologiste

J'ai cette trame de données suivante (df):

mut   gene   pvalue    chrom
1:23456_A>G  0.005     chr1  
2:28484_A>G  0.0001    chr2
4:47629_A>G  0.05      chr4
3:88382_A>G  0.00001   chr3
10:88273_A>G 0.005    chr10

[30 rows x 4 columns]

J'essaie de créer quatre colonnes avec leurs étiquettes de nom de colonne à partir de la colonne "mut" de df et je les ai affectées dans df_new nouvellement créé qui ressemble à ceci

chr    st    ref   alt 
1     23456   A     G  
2     28484   A     G  
4     47629   A     G

La trame de données résultante (df_new) est essentiellement une extraction de la colonne mut de df et ensuite une séparation de chaque partie de la chaîne, c'est-à-dire: split (":") puis split ("_") et enfin split (">") où nous nous retrouvons avec 4 parties du champ d'origine 1 23456 AG, puis placées dans leurs colonnes.

Voici ma tentative:

df_new["chr"], df_new["st"], df_new["ref"],    
df_new["alt"] = df.mut.str.split("[:_>]")

mais je me retrouve avec un message d'erreur comme suit:

ValueError: too many values to unpack (expected 4)

une simple instruction print révèle le résultat de cette ligne de code:

 df.mut.str.split("[:_>]")

comme:

0   [1, 23456, A, G]  
1   [2, 28484, A, G]
        .
        .
        .

Existe-t-il un moyen de résoudre ce problème dans les pandas où vous créez une nouvelle trame de données à partir de la séparation des champs de chaîne en 4 colonnes avec leurs étiquettes de colonnes incluses?

des murs

Essayons .str.split(expand=True)

df2=df.mut.str.split('[:_>]',expand=True)
df2.columns=['chr','st','ref','alt']



 chr     st ref alt
0   1  23456   A   G
1   2  28484   A   G
2   4  47629   A   G
3   3  88382   A   G
4  10  88273   A   G

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Comment diviser une série de pandas en deux colonnes séparées par une virgule

Diviser les chaînes en énoncés et attribuer des énoncés du même locuteur aux colonnes de la trame de données

Comment diviser les valeurs séparées par des virgules dans une seule cellule en différentes colonnes de la feuille Google à l'aide de GScript?

Comment diviser une colonne dans une trame de données contenant uniquement des nombres en plusieurs colonnes dans les pandas

Comment grouper par colonne et compter les valeurs dans des colonnes séparées (Pandas)

comment diviser les en-têtes de colonne et leurs valeurs dans des colonnes séparées au format long

Diviser le texte en R et attribuer pour sélectionner les colonnes existantes, tout en tenant compte des observations manquantes

Diviser et remplacer les caractères spéciaux des noms de colonnes dans Pandas

Diviser les valeurs séparées par des virgules en colonnes dans Oracle

comment diviser des lignes en colonnes séparées par un tube dans Pandas

Accumuler les entrées et les sorties dans une trame de données / une série temporelle pandas

Comment convertir une colonne de dictionnaires en colonnes séparées dans les pandas?

Compter les résultats groupés dans des colonnes séparées dans les pandas

Séparation des "objets" au sein d'une série pour les placer dans des colonnes séparées en Python

Procédure Oracle PL / SQL pour diviser les données séparées par des virgules dans la table source et pousser dans la table de destination

Attribuer des valeurs dans la série Pandas en fonction de la condition?

Identifiez un groupe de données dans une série temporelle avec des nanoparticules clairsemées chez les pandas

Identifier les colonnes de fonctionnalités avec des valeurs infinies et les gérer dans les pandas, Python 3.6

Transformez l'en-tête et les données de la colonne séparés par "|" dans des colonnes séparées avec certains noms d'en-tête et des lignes de données dans pyspark

Valeurs de date d'un int et d'une chaîne dans des colonnes séparées

Créer une colonne de dictionnaires avec les clés et les valeurs de deux autres colonnes dans Pandas DataFrame

Convertissez rapidement une série d'étiquettes Pandas en une série de valeurs indirectes à partir des colonnes correspondantes

Comment diviser les données par une colonne et utiliser les autres informations pour créer des colonnes?

Sélectionnez des objets séparés dans R et liez-les à une seule trame de données

Pandas pour analyser les données de texte et attribuer les colonnes

Sélectionnez des lignes et des colonnes spécifiques dans une base de données SQL

Comment créer de nouvelles colonnes avec des noms de listes qui se trouvent dans l'une des colonnes existantes dans pandas et attribuer des valeurs à partir de listes d'une autre colonne?

Rechercher une valeur basée sur des valeurs dans une série de deux autres colonnes

Pandas: générer des phrases basées sur plusieurs conditions et les afficher dans une colonne séparée