1
マスクを関数の引数として使用したいと思います。何が動作します:関数の引数としてpandasデータフレームにマスクを提供する
a)は、よりエレガントな解決策があるかどう
data = pd.DataFrame([[50, 100, 1], [0, 2, 1]], columns=['a', 'b', 'c'])
# the function argument
kwargs = {'a': 0, 'b': 2, 'c':1}
# generate a list of the elements
temp = []
for item in kwargs.items():
temp.append('(data.{}'.format(item[0]) + ' == {})'.format(item[1]))
temp
# generate mask as string
mask = ' & '.join(elem for elem in temp)
# apply mask
data[eval(mask)]
私は不思議でしたか?
b)èval(mask)
は、データフレームのサイズが大きくなると問題を引き起こす可能性がありますか?