【发布时间】:2018-03-02 12:58:51
【问题描述】:
我正在尝试解决 Python 课程的问题,发现有人在 github 中实现了相同问题的解决方案。我只是想了解github中给出的解决方案。
我有一个名为 Top15 的熊猫数据框,其中包含 15 个国家/地区,数据框中的一列是“HighRenew”。此列存储每个国家/地区使用的可再生能源百分比。我的任务是将“HighRenew”列中的列值转换为布尔数据类型。
如果特定国家/地区的值高于所有 15 个国家/地区的可再生能源百分比中值,则我应将其编码为 1,否则应编码为 0。“HighRenew”列从数据框中切出为系列,复制如下。
Country
China True
United States False
Japan False
United Kingdom False
Russian Federation True
Canada True
Germany True
India False
France True
South Korea False
Italy True
Spain True
Iran False
Australia False
Brazil True
Name: HighRenew, dtype: bool
github解决方案分3个步骤实现,前2个我理解,但不知道最后一个使用了lambda函数。有人可以解释这个 lambda 函数是如何工作的吗?
median_value = Top15['% Renewable'].median()
Top15['HighRenew'] = Top15['% Renewable']>=median_value
Top15['HighRenew'] = Top15['HighRenew'].apply(lambda x:1 if x else 0)
【问题讨论】: