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!
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.
laisse moi dire quelques mots