Skip to main content
 首页 » 编程设计

python之修改数据框中的多行

2025年05月04日15leader

假设我有一个数据框。我想修改具有特定值的行列表。

例如,下面是我的数据框。

df = pd.DataFrame({ 
"strings":["A", "B", "C", "D", "E"],  
  "value":["a", "b", "c", "d", "f"],  
  "price":["1", "2", "3", "4", "5"]}) 

我想将 C、D 和 E 行中的所有单元格替换为“0”,如下所示。行数 = ['C', 'D', 'E']

df = pd.DataFrame({ 
"strings":["A", "B", "C", "D", "E"],  
  "value":["a", "b", "0", "0", "0"],  
  "price":["1", "2", "0", "0", "0"]}) 

我知道我们可以通过简单地给出行的名称和特定值来实现这一点,但是由于我们有很多行要修改,我们如何使用 pandas 更有效地做到这一点?

有人提示吗?

请您参考如下方法:

如果我没理解错的话,对于“strings”列的值为 C、D 或 E 的行,您希望将“price”和“value”列中的所有值设置为零。

df.loc[df.strings.isin(["C", "D", "E"]), df.columns.difference(["strings"])] = 0 
df 
Out[82]:  
  price strings value 
0     1       A     a 
1     2       B     b 
2     0       C     0 
3     0       D     0 
4     0       E     0