私はパンダテーブル全体にパターン認識を適用し、著者名が特定のパターンと一致する場合にそのコードを有効にしたいと考えています。しかし、私は間違った値を取得します。私はそれぞれの行を反復処理していますが、私は0です。ここパンダ - パターン認識のために行を繰り返す
Author valid
Andi 0
Tomasius 0
Anke 0
に対応するセルの値がある場合にのみ、ラムダ関数を適用したいことは、私のコードです:
df["valid"] =0
def author_check(x, y):
if str(x) == y:
return 1
else:
return 0
import re
author_list =["Andi","Tomasius"]#]
regex_list = [".*nd*"]
for i in range(len(author_list)):
for x in range(len(regex_list)):
r = re.compile(regex_list[x])
newlist = filter(r.match, author_list)
x = len(list(newlist))
if x>0:
df['brand'] = df.apply(lambda row: author_check(row['Author'], author_list[i]), axis=1)
私はこれを実行しているたら、その後、私は
Author valid
Andi 0
Tomasius 1
Anke 0
を取得しかし、私は持っていたいと思い
Author valid
Andi 1
Tomasius 0
Anke 0
どうすれば間違っていますか?どんなヒントでも大歓迎です!
乾杯、 アンディ
ありがとう。 「nd」と「as」を検索する場合、2つの文字列を検索するとどうすればよいですか?
df ['valid'] = np.where(df.Author.str.contains( 'nd'、 'as')、1,0)が機能しません。 –
regexesの答えが更新されました。 – ASGM