我有一个包含三列的数据框,分别代表年份、名称和 Year_2
我想根据年份和名称更改 Year_2 列的值,如下所示:
(df[(df['Year']==1980) & (df['Name'].str.contains("John"))])['Year_2']=2010
我认为这与打字是一样的
df[Year_2] = 2010
,
但显然我错过了一些 super 基本的东西,因为再次查看我的 dF 表明这些更改都没有被应用...希望有人让我摆脱这里的痛苦,因为我不太明白我搞乱了语法。
最佳答案
您可以尝试loc
:
df.loc[(df['Year']==1980) & (df['Name'].str.contains("John")),'Year_2'] = 2010
关于python - 为什么在按两个条件对数据框进行子集化后,无法将值应用于整个 pandas 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35344648/