import numpy as np
import pandas as pd
import re
df = pd.DataFrame({'Product': np.array(['Footwear' for i in range(4)]), 'Category': np.array(['Women' for i in range(4)]), 'Size': np.array([7, 7, 7, 8]), 'Color': np.array(['black', 'brown', 'blue', 'black'])})
ent_dict = {'Category': 'Women', 'Color': 'black', 'Product': 'Footwear'}
values = [i for i in ent_dict.values()]
columns = [df.filter(regex=re.compile(i, re.IGNORECASE)).columns[0] for i in ent_dict]
df[eval(" & ".join(["(df['{0}'] == {1})".format(col, repr(cond))
for col, cond in zip(columns, values)]))]
上面的方法适用于字符串匹配。还可以进一步更改final语句以匹配整数。在
不区分大小写的搜索可以使用
^{pr2}$DataFrame
对象的str.contains
来完成。在相关问题 更多 >
编程相关推荐