为什么在将数据框细分为两个条件后,我无法将值应用于整个 pandas 列?



我有一个包含三列的数据框,分别代表年份、名称和Year_2

我想根据年份和名称更改Year_2列的值,如下所示:

(df[(df['Year']==1980) & (df['Name'].str.contains("John"))])['Year_2']=2010

我以为这与打字是一样的

df[Year_2] = 2010

但显然我错过了一些超级基本的东西,因为再次查看我的 dF 表明这些更改都没有应用......希望有人让我摆脱这里的痛苦,因为我不太明白我在哪里搞砸了语法。

你可以试试loc

df.loc[(df['Year']==1980) & (df['Name'].str.contains("John")),'Year_2'] = 2010

最新更新