我的数据框有5列,10k行,所有数据都是整数。数据框如下所示:
Item_code# Column1 Column2 Column3 Column4 Column5
02516 3 1 10 21 7
03382 23 12 4 5 31
05921 20 3 1 11 25
82433 3 12 20 21 33
我需要摆脱不带全部三个整数的行,让我们说1,3& 10.在这种情况下,每个整数的顺序(无论是出现在column1还是column2中)都将被忽略。
有关如何进行此过滤的任何想法吗?
修改
从这个数据框中只保留项目代码02516,04599和85345:
Item_code# Column1 Column2 Column3 Column4 Column5
2516 3 1 10 21 7
3382 23 12 4 5 31
5921 20 3 1 11 25
82433 3 12 20 21 33
1455 1 1 3 25 6
4599 3 10 15 1 21
85345 0 1 3 3 10
答案 0 :(得分:0)
您可以使用isin和any pandas数据框方法来完成此操作:
df1 = df[df.isin(match_list).sum(axis=1) == len(match_list)]
print(df1)
Item_code# Column1 Column2 Column3 Column4 Column5
0 2516 3 1 10 21 7
修改强>
如果你需要匹配它们,你可以尝试使用sum方法:
data = """
Item_code# Column1 Column2 Column3 Column4 Column5
02516 3 1 10 21 7
03382 23 12 4 5 31
05921 20 3 1 11 25
82433 3 12 20 21 33
01455 1 1 3 25 6
04599 3 10 15 1 21
85345 0 1 3 3 10
"""
df = pd.read_csv(StringIO(data), sep='\s+')
match_list = [1, 3, 10]
df1 = df[df.isin(match_list).sum(axis=1) >= len(match_list)]
In [26]: print(df1)
Item_code# Column1 Column2 Column3 Column4 Column5
0 2516 3 1 10 21 7
4 1455 1 1 3 25 6
5 4599 3 10 15 1 21
6 85345 0 1 3 3 10
<强> EDIT2 强>
对于您的编辑,您可以执行以下操作:
... StiMvcMobileDesigner("StiMvcMobileViewer1", new StiMvcMobileDesignerOptions()