尝试在pandas中创建一个新列,如果大于,则为1,否则为0。

时间:2016-11-18 19:24:44

标签: python pandas

我正在尝试使用lambda属性在pandas中创建条件语句。我想也许我的语法有点偏,我需要一点修正。任何建议将不胜感激:

import pandas as pd

Top15['HighRenew'] = Top15['% Renewable'].map(lambda x: 1 if Top15[(Top15['% Renewable'] >= Top15['% Renewable'].median())] else 0)

2 个答案:

答案 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);