我正在尝试从一列中满足某个条件的数据框中删除所有行。
让我们说我的数据框是这样的:
index 'Value 1' 'Grade'
1 10 2170A
2 15 2170B
3 10 NCR2170B
4 20 NCR2170A
5 30 NCR2170B
我希望过滤后的输出为此
index 'Value 1' 'Grade'
2 15 2170B
3 10 NCR2170B
5 30 NCR2170B
我尝试了许多使用列表理解的不同变体,循环遍历每一行并进行评估。当我使用以下内容时,我可以使它工作:
data_filtered = data[data['Grade'] == '2170B']
但这显然错过了像NCR2170B这样的条目。
每当我尝试类似的东西时:
data_filtered = data['2170B' in data['Grade']]
我得到关键错误:'正确'。
我觉得我错过了一些非常明显的东西。
我也尝试过使用np.where但它只输出一个空数组。
答案 0 :(得分:1)
您可以使用str.contains
检查字符串列是否包含子字符串:
df[df.Grade.str.contains('2170B')]
#index Value 1 Grade
#1 2 15 2170B
#2 3 10 NCR2170B
#4 5 30 NCR2170B