Comment utiliser la fonction pour créer une nouvelle colonne de dataframe en utilisant d'autres valeurs de colonne?

Amanda Sawyer

J'ai une liste de DOI et de titres de revues dans un csv, maintenant dans un dataframe. J'essaye de reconstruire l'url du journal pour la v1 des articles en utilisant une fonction. Quelle est la manière correcte de créer une nouvelle colonne à l'aide d'une fonction qui utilise les valeurs des colonnes existantes dans le dataframe?

Le dataframe ressemble à ceci:

PMID    Journal     DOI
1234    medRxiv     10.1101/2020.09.30.320762
2345    bioRxiv     10.1101/2020.05.26.117549

La fonction que j'ai créée:

def createURL (doi, journal) :
    url = 'https://www.'+journal+'.org/content/'+ str(doi)+'v1'
    
    return url

Ma tentative d'appeler la fonction:

#this returns a Key Error ('PMID')
for row in dfRxiv :
    dfRxiv['URL'][row] = createURL(dfRxiv['DOI'][row], dfRxiv['Journal'][row])

Je suis nouveau sur Python et je suis sûr qu'il existe une meilleure façon de le faire - j'apprécie toute aide!

Jamesh

Vous êtes quasiment là. Vous n'avez pas besoin de parcourir les lignes ou de définir une fonction - c'est plus facile que ça!:

dfRxiv['URL'] = 'https://www.' + dfRxiv['Journal'].astype('str') + '.org/content/' + dfRxiv['DOI'].astype('str') + 'v1'

modifier Si vous souhaitez utiliser une fonction:

def createURL(df):
    url = 'https://www.' + df['Journal'].astype('str') + '.org/content/' + df['DOI'].astype('str') + 'v1'
    return url

dfRxiv['URL'] = createURL(dfRxiv)

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

TOP liste

  1. 1

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

  2. 2

    J'ai besoin de savoir si ces deux phrases sont les mêmes en programmation

  3. 3

    Microsoft.WebApplication.targets

  4. 4

    Création d'un nouvel objet d'une classe avec un nouveau nom en cliquant sur un bouton dans java swing

  5. 5

    La taille de la forme n'est pas égale à la taille de la cellule du tableau et ajuste le texte à l'intérieur de la forme

  6. 6

    Javascript indiquant "impossible de définir la propriété 'innerHTML' sur null"

  7. 7

    Pourquoi utiliser Asyncio ne réduit pas le temps d'exécution global en Python et n'exécute pas les fonctions simultanément?

  8. 8

    Création d'un rappel python pour une fonction C à partir d'une DLL avec un tampon char.

  9. 9

    Trouver l'intersection et l'union de deux rectangles

  10. 10

    Comment convertir une chaîne en tuple en utilisant `reads`?

  11. 11

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

  12. 12

    Restauration de la sauvegarde de la base de données SQL Server sur la version inférieure

  13. 13

    Nextcloud avec Docker: impossible de créer ou d'écrire dans le répertoire de données

  14. 14

    Compter combien de fois un nombre apparaît dans un tableau aléatoire

  15. 15

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

  16. 16

    java.lang.NoClassDefFoundError: org / springframework / data / repository / config / BootstrapMode

  17. 17

    Créer un graphique à barres avec une fréquence relative / à partir d'un objet de table dans R

  18. 18

    comment le contrôle de tableau javascript devrait-il être

  19. 19

    Importation bizarre de Google Sheets importxml - Impossible d'obtenir le chemin correct vers les éléments

  20. 20

    Injecter des éléments dans une liste existante au printemps

  21. 21

    Placez le modeBar en haut au centre à l'aide de plotly.js

chaudétiquette

Archive