我有一个简单的 DataFrame,如下所示:
我想从“第一季”列中选择所有值,并将超过 1990 年的值替换为 1。在此示例中,只有巴尔的摩乌鸦队会将 1996 年替换为 1(保持其余数据不变)。
我使用了以下内容:
df.loc[(df['First Season'] > 1990)] = 1
但是,它将该行中的所有值替换为 1,而不仅仅是“第一季”列中的值。
如何仅替换该列中的值?
原文由 ichimok 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个简单的 DataFrame,如下所示:
我想从“第一季”列中选择所有值,并将超过 1990 年的值替换为 1。在此示例中,只有巴尔的摩乌鸦队会将 1996 年替换为 1(保持其余数据不变)。
我使用了以下内容:
df.loc[(df['First Season'] > 1990)] = 1
但是,它将该行中的所有值替换为 1,而不仅仅是“第一季”列中的值。
如何仅替换该列中的值?
原文由 ichimok 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
您需要选择该列:
所以这里的语法是:
您可以查看 文档 以及显示语义的 10 minutes to pandas
编辑
如果你想生成一个布尔指标,那么你可以只使用布尔条件来生成一个布尔系列并将 dtype 转换为
int
这将转换True
和False
分别为1
和0
: