1
列の正当な値のセットを含むリストX
があります。言って、私は列A
を持っています。その値がXでなければ、df['A']
の要素を空の文字列に置き換える必要があります。Pandasで効率的に行うにはどうすればいいですか?パンダ:定義済みのリストに存在しない場合、列の値を空に置き換えます。
isin()
がありますが、値が存在するかどうかをチェックして、True/Falseの系列を返します。
列の正当な値のセットを含むリストX
があります。言って、私は列A
を持っています。その値がXでなければ、df['A']
の要素を空の文字列に置き換える必要があります。Pandasで効率的に行うにはどうすればいいですか?パンダ:定義済みのリストに存在しない場合、列の値を空に置き換えます。
isin()
がありますが、値が存在するかどうかをチェックして、True/Falseの系列を返します。
はこの試してみてください。
df.loc[~df.A.isin(X), 'A'] = ''
あなたはそれが適用して行うことができます。
import pandas as pd
x = ['a', 'b', 'c']
data = {'foo':['a', 'a', 'q', 'p']}
df = pd.DataFrame.from_dict(data)
df_new = df['foo'].apply(lambda i: i if i in x else '')