尝试过滤类别列中有“餐厅”的行

时间:2019-08-14 17:03:51

标签: python python-3.x lambda anonymous-function

我尝试使用lambdas将行过滤为仅类别列中具有餐厅的行。

我遇到了下面的代码,这些代码将完成工作。

private static String fractionConversion(double fraction, int dBase) {
        StringBuilder output = new StringBuilder(".");

        for (int i = 0; i < PRECISION; i++) {
            fraction *= dBase;
            output.append(Long.parseLong(Integer.toString((int) fraction)));
            fraction -= Long.parseLong(Integer.toString((int) fraction));
        }

        return output.toString();
    }

但是,我很难理解lambda函数。我能够在没有lambda的情况下运行代码。

business = business.loc[business['categories'].apply(lambda x: 'Restaurants' in x), :]

我使用函数获得了预期的结果,但是我不理解lambda部分

谢谢

Business dataFrame

1 个答案:

答案 0 :(得分:1)

lambda函数(lambda x: 'Restaurants' in x)与此等效:

def lambdafunc(x):
    return "Restaurants" in x

如您所见,冒号(:)的左边代表输入,右边的代表返回值。就如此容易。有关lambda函数的更多信息,请参见以下链接:https://docs.python.org/3/reference/expressions.html#lambda