鉴于此数据框......:
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
如果满足以下条件:
- COL1 ='D'
- year ='2021'(请将其视为字符串)
醇>
然后将COL2
中的值更改为100
。
或者,如果将年份视为int?
答案 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