大きなパンダのデータフレームで多数の単語を検索していますが、パフォーマンスに問題があります。 pandasデータフレームの列の文字列をバイナリ検索する方法はありますか?パンダのデータフレームでのバイナリ検索?
今の私のコードは次のようである:
names = pd.DataFrame(data=['one', 'two', 'three', 'four'], index=range(0, 4), columns=['Name'])
sentence = 'There are two trees in the street.'
for word in word_tokenize(sentence):
# Search for each word in all the names
new_names = names[names['Name'].str.startswith(word)]
# then do some operations on the names
しかし、私はnames[names['Name'].str.startswith(word)]
のためのより良いパフォーマンスを必要とし、私は「名前」列にバイナリ検索への道を見つけなければならないと思いました。
正確にあなたが試してみましたか?あなたはもっと具体的な方法を与える必要があります。試したいくつかのコードをサンプルDataFrameに提供することは長い道のりになります。 –
@TedPetrouありがとう!私は少し質問を変更しました。 – AmirAhmad
答えを提供するのに十分な詳細がまだありません。 'iterrows'の下で何が起こっているのですか?通常、iterrowsの使用は避けてください。より多くの情報を持つサンプルデータフレームは、長い道のりを行くでしょう。 –