1
データフレーム内の列をループし、辞書に値が含まれている場合、ループされた列の部分文字列を使用して新しい列を作成しようとしています。より具体的には、アドレス列内の個々の行に、状態名および略語の辞書が含まれている場合は、状態の省略形を新しい列になるリストに追加します。辞書に一致する部分文字列を抽出するためにdataframeをループする
以下のコードは、完全な一致を動作しますが、部分文字列の行をスキャンしていません。
import pandas as pd
df = pd.DataFrame((['Austin, Texas',
'Texas',
'Seattle, Washington',
',,, Texas',
'Olympia, WA']), columns = ['Place'])
states = {'Texas': 'TX',
'Washington': 'WA'}
place = df['Place']
results = []
for x in place:
if x in states:
results.append(x)
else:
results.append(None)
df['State'] = results
df
感謝を!
それはトリックです、ありがとうございます! – MuirSalt
私は尋ねることを忘れました、あなたはこれで非リストをどのように返すでしょうか?私は自分のデータにニューヨーク、ニューヨークを持っているとは思わないので、私にとっては問題ではありません。 – MuirSalt
害虫であることは申し訳ありませんが、「名前」セルが「定義されていません」というエラーが表示されていますか?すばやくGoogle検索で何かプルアップしていないようですか? – MuirSalt