pandas.DataFrame中删除指定列中元素在(或不在)指定的元素集中所在的行:使用 DataFrame.isin(values)

2018.07.30

python 3.6

# 指定元素集
a = [1, 3]

data = {'A': (1,2,3), 'B': (4,5,6)}
df = pd.DataFrame(data, columns=['A', 'B'])

   A  B
0  1  4
1  2  5
2  3  6

# 得到新df_1: 删除'A'列中元素不在列表a中所在的行:

df_1 = df[df['A'].isin(a)]

   A  B
0  1  4
2  3  6

# 得到新df_2: 删除'A'列中元素不在列表a中所在的行:

df_2 = df[df['A'].isin(a).apply(lambda x: not x)]

   A  B
1  2  5

参考文献:

1. http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.isin.html?highlight=isin#pandas.DataFrame.isin

猜你喜欢

转载自blog.csdn.net/zengqiaoya/article/details/81288862