根据一列从另一列的值开始切片数据框
Slice a dataframe based on one column starting with the value of another column
我有一个名为 data
的数据框,它看起来像这样:
|...|category|...|ngram|...|
我需要将此数据帧切片为 category
以 ngram
的值开头的实例。因此,例如,如果我有以下实例:
- 类别:床
- ngram:床
然后应该从生成的数据框中删除该实例。
在 T-SQL 中,我使用以下查询(这可能不是最好的方法,但它有效):
SELECT
*
FROM mytable
WHERE category NOT LIKE ngram+'%';
我已经阅读了一些内容,我最好的尝试是:
data[data.category.str.startswith(data.ngram.str) == True]
但这不会 return 任何行,反之亦然(使用 == True
)
#use df.apply to filter the rows with category starts with ngram.
data[data.apply(lambda x: x.category.startswith(x.ngram), axis=1)]
我有一个名为 data
的数据框,它看起来像这样:
|...|category|...|ngram|...|
我需要将此数据帧切片为 category
以 ngram
的值开头的实例。因此,例如,如果我有以下实例:
- 类别:床
- ngram:床
然后应该从生成的数据框中删除该实例。
在 T-SQL 中,我使用以下查询(这可能不是最好的方法,但它有效):
SELECT
*
FROM mytable
WHERE category NOT LIKE ngram+'%';
我已经阅读了一些内容,我最好的尝试是:
data[data.category.str.startswith(data.ngram.str) == True]
但这不会 return 任何行,反之亦然(使用 == True
)
#use df.apply to filter the rows with category starts with ngram.
data[data.apply(lambda x: x.category.startswith(x.ngram), axis=1)]