我想检查命名为Series的单词是否以Series的strings一个单词结尾ending_strings。
strings
ending_strings
strings = Series(['om', 'foo_nom', 'nom', 'bar_foo', 'foo','blah']) ending_strings = Series(['nom', 'foo']) expected_results = Series([False, True, True, True, True, False])
我想出了以下代码,但是有没有更快或更更多的熊猫风格方式呢?
from pandas import Series def ew(v): return strings.str.endswith(v) result = ending_strings.apply(ew).apply(sum).astype(bool) result.equals(expected_results)
您可以endswith在此处传递一个元组(因此也可以使用它代替Series):
endswith
>>> strings = Series(['om', 'foo_nom', 'nom', 'bar_foo', 'foo','blah']) >>> ending_strings = ("nom", "foo") >>> strings.str.endswith(ending_strings) 0 False 1 True 2 True 3 True 4 True 5 False dtype: bool