DataFrame:根据条件替换列中的所有值

我有一个简单的数据框架,如下所示:

我想从“第一季”列中选择所有值,并将超过1990年的值替换为1。在本例中,只有巴尔的摩乌鸦队将1996年的数据替换为1(保持其余数据不变)

我使用了以下方法:

df.loc[(df['第一季]>1990)]=1

但是,它将该行中的所有值替换为1,而不仅仅是“第一季”列中的值

如何仅替换该列中的值

您需要选择该列:

[41]on

:
df.loc[df[‘第一季’]>1990,‘第一季’]=1
df
Output[41]:
第一季全队比赛
0达拉斯牛仔队1960 894
1芝加哥熊队1920 1357
2台绿湾包装机1921 1339
3迈阿密海豚1966 792
4巴尔的摩乌鸦1326
5圣弗朗西索49ers 1950 1003

这里的语法是:

df.loc[<mask>(此处mask生成要索引的标签),<可选列>]

您可以查看文档,也可以查看显示语义的10分钟到熊猫

编辑

如果要生成布尔指示符,则可以使用布尔条件生成布尔序列,并将数据类型转换为int,这将分别将TrueFalse转换为10

[43]on

:
df['First Season']=(df['First Season']>1990)。aType(int)
df
Output[43]:
第一季全队比赛
达拉斯牛仔队0 0 894
1芝加哥熊0 1357
2台绿湾封隔器0 1339
3只迈阿密海豚0 792
4巴尔的摩乌鸦1326
5圣弗朗西索490 1003

发表评论