2016-06-23 11 views
1

列の正当な値のセットを含むリストXがあります。言って、私は列Aを持っています。その値がXでなければ、df['A']の要素を空の文字列に置き換える必要があります。Pandasで効率的に行うにはどうすればいいですか?パンダ:定義済みのリストに存在しない場合、列の値を空に置き換えます。

isin()がありますが、値が存在するかどうかをチェックして、True/Falseの系列を返します。

答えて

1

はこの試してみてください。

df.loc[~df.A.isin(X), 'A'] = '' 
2

あなたはそれが適用して行うことができます。

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 '') 
関連する問題