J'ai un dataframe appelé data
, qui ressemble à ceci:tranche une trame de données basée sur une colonne en commençant par la valeur d'une autre colonne
|...|category|...|ngram|...|
J'ai besoin de trancher ce dataframe aux cas où category
démarre avec la valeur ngram
. Ainsi, par exemple, si je devais l'exemple suivant:
- Catégorie: Lits
- ngram: lit
alors cette instance devrait être abandonné du dataframe résultant.
Dans T-SQL, j'utilise la requête suivante (qui peut ne pas être la meilleure façon, mais il fonctionne):
SELECT
*
FROM mytable
WHERE category NOT LIKE ngram+'%';
J'ai lu sur ce un peu, et ma meilleure tentative est la suivante:
data[data.category.str.startswith(data.ngram.str) == True]
Mais cela ne renvoie aucune ligne, ni ne l'inverse (en utilisant == True
)
Hey, merci fonctionne parfaitement. Le code final que j'ai utilisé avait une conversion de chaîne, et une inversion: 'data [~ (data.apply (lambda x: str (x.catégorie) .lower(). Startswith (str (x.ngram) .lower()) , axe = 1))] ' – smj