私は、共通の赤ちゃんの名前が異なる行に記載されたパンダのデータフレームを持っています。各行の各名前をループし、アルファベットの各文字が赤ちゃんの名前の最後の文字として表示される回数を取得する必要があります。私は、キーとアルファベット文字がアルファベット26文字である値の辞書を返す必要があります。値はアルファベット文字がデータフレーム内のすべての赤ちゃん名の最後の文字として表示される頻度です。 正規表現、カウンタ、または文字列メソッドを使用してpandasデータフレームをループして辞書を返す方法は?
正規表現でforループを使用しますか?私はカウンターを使用しますか?列をシリーズにした後に文字列メソッドを使用しますか?ループと正規表現に関しては
は、これまで私が試してみました:
import re
for index, row in male_names.iterrows():
male_last_letter_freq = row['name'](r'/(\w)\b/')
male_letter_freq.update(male_last_letter_freq)
male_last_letter_freq
は明らかに、私は、ループ内の正規表現を含むための構文を知りません。
male_name_series = male_names['name']
male_name_series.str.extract(r'/(\w)\b/')
どちらの方法でエラーを返す:
は、私はまた、シリーズにデータフレームからの「名前」列をオンおよび方法は、いくつかの.strパンダを呼び出そうとしています。私は本当にそのような特定のことをする方法を失う。どんな助けでも大歓迎です。
あることは確かです。Pythonパターンでは正規表現の区切り文字を使用しないでください。 'r '\ w \ b''を使って、" words "の最後の単語charとマッチさせます。 –
文字列は文字のリストです - 最後は 'name [: - 1]' ....です。 –