我正在尝试使用lambda属性在pandas中创建条件语句。我想也许我的语法有点偏,我需要一点修正。任何建议将不胜感激:
import pandas as pd
Top15['HighRenew'] = Top15['% Renewable'].map(lambda x: 1 if Top15[(Top15['% Renewable'] >= Top15['% Renewable'].median())] else 0)
答案 0 :(得分:0)
您可以通过将布尔系列转换为int:
来完成此操作Top15['HighRenew'] = (Top15['% Renewable'] >= Top15['% Renewable'].median()).astype(int)
答案 1 :(得分:0)
您可以使用map,但是您的lambda函数不正确-地图无处可以放置变量。
您需要:
#include <utility>
template <std::size_t ... Is>
void setProperties(std::index_sequence<Is ...>, char const * labels []) {
Blynk.setProperty(V0, "labels", labels[Is] ...);
}
char const * labels [NUM_OBJECTS] = { "l1", "l2", "l3" };
setProperties(std::make_index_sequence<NUM_OBJECTS>{}, labels);