Python: diviser la chaîne en deux colonnes par plus d'un séparateur

user13672551

J'importe des données à partir d'un fichier csv, je veux diviser la colonne 'topThemes' en un tableau / dataframe avec deux colonnes.
Dans la première colonne, je veux avoir le nom du thème (par exemple Biologie), dans la deuxième colonne je veux sa partition associée (par exemple 62).
Lorsque j'importe la colonne, elle est stockée dans ce format:

Biology: 62\n
Economics: 12\n
Physics: 4\n
Chemistry: 8\n
and so on.

Mon code actuel et l'erreur sont indiqués ci-dessous.

Code:

df = pd.read_csv(r'myfilelocation')

split = [line.split(': ') for line in df['topThemes'].split('\n')]

Erreur:

AttributeError("'Series' object has no attribute 'split'")

Fichier CSV en cours d'importation:

Mon fichier csv

Comment je veux que ça ressemble:

Format idéal

Merci pour toute aide / réponse.

Terry Spotts

Spécifiez le délimiteur à utiliser avec sepet les noms de colonnes avec namesde la read_csv()fonction:

df = pd.read_csv(r'myfilelocation', sep=':', names=['topThemes', 'score'])

Documentation ici: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

Oh, je vois votre fichier CSV source maintenant ...
Il existe probablement un moyen plus propre de le faire en moins d'étapes, mais je pense que cela produit la sortie demandée:

data = pd.read_csv(r'myfilelocation', usecols=['topThemes'])
data = pd.DataFrame(data['topThemes'].str.split('\n').values.tolist()).stack().to_frame(name='raw')

df = pd.DataFrame()
df[['topTheme', 'score']] = data['raw'].apply(lambda x: pd.Series(str(x).split(":")))
df.dropna(inplace=True)

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Diviser la chaîne par deux délimiteurs en deux colonnes

R: diviser la chaîne de longueur inégale avec séparateur manquant en deux colonnes: caractères et nombres séparés

diviser la chaîne d'une colonne en deux colonnes

Diviser la chaîne en deux colonnes

Diviser une chaîne avec un nombre inconnu d'espaces comme séparateur en Python

Additionner la valeur d'un dictionnaire en fonction de la différence entre deux colonnes d'un dataframe et diviser la première colonne par deux - Python

Diviser la colonne d'horodatage en deux colonnes de date et d'heure séparées avec python

Diviser par séparateur en plusieurs colonnes

diviser la chaîne en 2 en fonction de la dernière occurrence d'un séparateur

diviser la chaîne en 2 en fonction de la dernière occurrence d'un séparateur

Diviser une chaîne par un délimiteur en python

Comment diviser la chaîne d'une colonne en deux colonnes qui correspondent à la liste ?

Diviser la colonne de chaîne de pandas en fonction d'un séparateur de longueur variable

Diviser la chaîne en deux chaînes par délimiteur

Diviser la chaîne de colonne avec des délimiteurs en colonnes séparées dans azure kusto

Diviser la chaîne Java en deux chaînes à l'aide d'un délimiteur

diviser la chaîne séparée par des virgules en colonnes

Comment diviser une chaîne par un autre séparateur

Comment diviser la chaîne par virgule en nouvelles colonnes?

Comment diviser une série par la plus longue répétition d'un nombre en python ?

Diviser la chaîne en tableau en conservant le délimiteur / séparateur dans Swift

Comment diviser une chaîne en utilisant un séparateur vide en Python

Diviser la chaîne (objet) en deux colonnes sur un délimiteur de caractères mais GARDER le délimiteur de caractères

Séparez deux colonnes d'un fichier en deux fichiers séparés dans la boucle for

Comment diviser la chaîne contient un séparateur en javascript?

Diviser la série Pandas en plusieurs colonnes par sous-chaîne

Diviser la colonne en plusieurs colonnes par une autre valeur de colonne (séparateur compliqué)

diviser la chaîne numérique séparée par un espace dans une liste en Python3

diviser une chaîne C ++ en deux entiers, qui sont délimités par ":"

TOP liste

  1. 1

    comment afficher un bouton au-dessus d'un autre élément ?

  2. 2

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  3. 3

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

  4. 4

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  5. 5

    Conversion double en BigDecimal en Java

  6. 6

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Passer la taille d'un tableau 2D à une fonction ?

  9. 9

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  10. 10

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  11. 11

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  12. 12

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  13. 13

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  14. 14

    Exporter la table de l'arborescence vers CSV avec mise en forme

  15. 15

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  16. 16

    Créer un système Buzzer à l'aide de python

  17. 17

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  18. 18

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  19. 19

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  20. 20

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  21. 21

    Microsoft.WebApplication.targets

chaudétiquette

Archive