Python-如果列名包含特定的字符串,则更改该列中的值,否则这些值将保留

Python-如果列名包含特定的字符串,则更改该列中的值,否则这些值将保留,python,pandas,dataframe,Python,Pandas,Dataframe,我试图编写一些代码,查看列名,如果列名包含特定字符串,则将列值设置为0。我有一个数据集,其列类似于: date apples_sold bananas_sold pineapples_sold orange_sold 我想用字符串“apple”更新任何列,使该列的每一行都为0。如果列不包含“apple”,则该值应保留 我尝试循环浏览列名,但不确定语法,因为我不想硬编码特定的列名。尝试loc更新.str.contains: df.loc[:, df.columns.str.contains('a

我试图编写一些代码,查看列名,如果列名包含特定字符串,则将列值设置为0。我有一个数据集,其列类似于:

date apples_sold bananas_sold pineapples_sold orange_sold
我想用字符串“apple”更新任何列,使该列的每一行都为0。如果列不包含“apple”,则该值应保留


我尝试循环浏览列名,但不确定语法,因为我不想硬编码特定的列名。

尝试
loc
更新
.str.contains

df.loc[:, df.columns.str.contains('apple')] = 0

太棒了。我希望在花几个小时做这件事之前问这个问题。如此雄辩,却又简单。非常感谢。