df = rocksfile snapshot of my dataframefonction Pandas .Appliquer() avec plusieurs args
Question: Écrivez une fonction qui prend une ligne d'une trame de données et imprimer la chanson, artiste, et si la date de sortie ou non < 1970.
Définir ma fonction:
def release_info(row):
"""Checks if song is released before or after 1970."""
if rocksfile.loc[row, 'Release_Year'] < 1970:
print str(rocksfile.loc[row,'Song_Clean']) + " by " +
str(rocksfile.loc[row,'Artist_Clean']) \
+ " was released before 1970."
else:
print str(rocksfile.loc[row,'Song_Clean']) + " by " + str(rocksfile.loc[row,'Artist_Clean']) \
+ " was released after 1970."
Utilisation de la fonction .Appliquer(), appliquer la fonction que vous avez écrit aux quatre premières lignes de la trame de données. Vous devrez indiquer à la fonction d'application de fonctionner ligne par ligne. La définition de l'argument mot-clé en tant qu'axe = 1 indique que la fonction doit être appliquée à chaque ligne individuellement.
En utilisant .Appliquer:
rocksfile.apply(release_info, axis = 1, row=1)
Message d'erreur:
TypeError Traceback (most recent call last)
<ipython-input-61-fe0405b4d1e8> in <module>()
1 #a = [1]
2
----> 3 rocksfile.apply(release_info, axis = 1, row=1)
TypeError: ("release_info() got multiple values for keyword argument 'row'", u'occurred at index 0')
release_info (1)