簡體   English   中英

熊貓:將列值替換為空(如果預定義列表中不存在)

[英]Pandas: Replace column values to empty if not present in pre-defined list

我有一個列表X ,其中包含一組列的合法值。 說,我有A列。 如果它們的值不在X中,我想替換df['A']元素(設置為空字符串)。如何在Pandas中高效地做到這一點?

我知道有isin() ,但是它只是檢查值是否存在並返回一系列True / False。

嘗試這個:

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

您可以使用apply來做到這一點:

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 '')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM