我尝试使用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部分
谢谢
答案 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