Python pandas替换字符串

时间:2015-10-07 03:27:24

标签: python pandas

鉴于此数据框......:

DF = pd.DataFrame({'COL1': ['A', 'B', 'C', 'D','D','D'], 
                   'COL2': [11032, 1960, 11400, 11355, 8, 7], 
                   'year': ['2016', '2017', '2018', '2019', '2020', '2021']})
DF

   COL1 COL2    year
0   A   11032   2016
1   B   1960    2017
2   C   11400   2018
3   D   11355   2019
4   D   8       2020
5   D   7       2021

如果满足以下条件:

  
      
  1. COL1 ='D'
  2.   
  3. year ='2021'(请将其视为字符串)
  4.   

然后将COL2中的值更改为100

或者,如果将年份视为int?

1 个答案:

答案 0 :(得分:3)

这是loc的典型用例。为行选择选择多个条件时,cond 1 and (cond 2 or cond 3)模式的示例将为df.loc[(condition 1) & ((condition 2) | (condition 3), 'selected columns']

DF.loc[(DF.COL1 == 'D') & (DF.year == '2021'), 'COL2'] = 100

如果年份是整数,您可以按如下方式修改它以捕获整数和字符串:

DF.loc[(DF.COL1 == 'D') & (DF.year.astype(int) == 2021), 'COL2'] = 100