J'ai un dataframe contenant de la maison descriptions:
description
0 Beautiful, spacious skylit studio in the heart...
1 Enjoy 500 s.f. top floor in 1899 brownstone, w...
2 The spaceHELLO EVERYONE AND THANKS FOR VISITIN...
3 We welcome you to stay in our lovely 2 br dupl...
4 Please don’t expect the luxury here just a bas...
5 Our best guests are seeking a safe, clean, spa...
6 Beautiful house, gorgeous garden, patio, cozy ...
7 Comfortable studio apartment with super comfor...
8 A charming month-to-month home away from home ...
9 Beautiful peaceful healthy homeThe spaceHome i...
Je suis en train de compter le nombre de phrases sur chaque ligne (à l'aide de sent_tokenize
à partir de nltk.tokenize
) et ajouter ces valeurs dans une nouvelle colonne, sentence_count
, à l' df
. Depuis cette est une partie d'un plus grand pipeline de données, je suis en utilisant les pandas assign
pour que je puisse les opérations de la chaîne.
Je n'arrive pas à le faire fonctionner, cependant. J'ai essayé:
df.assign(sentence_count=lambda x: len(sent_tokenize(x['description'])))
et
df.assign(sentence_count=len(sent_tokenize(df['description'])))
mais à la fois d'améliorer le suivant errro:
TypeError: expected string or bytes-like object
J'ai confirmé que chaque ligne a un dtype
de str
. Peut-être que c'est parce que description
a dtype('O')
?
Ce que je fais mal ici? À l'aide d'un pipe
avec une fonction personnalisée fonctionne très bien ici, mais je préfère utiliser assign
.
sent_tokenize
sansdf['counts'] =
. Est-il un moyen de faire partie de la chaîne de l'opération?