pandas 如何在Python中修改DataFrame日期的特定字符

bvjxkvbb  于 2023-05-12  发布在  Python
关注(0)|答案(1)|浏览(101)

下面是一个脚本:

date = ['1871-01', '1871-02', '1871-1', '1871-11', '1871-12']
div = np.zeros(len(date))

tab = pd.DataFrame({'date':date, 'zeros':div})
tab

我想直接在表中更改“1871- 11”中“1871-1”的值,而不是从列表日期更改。也许你能帮上忙谢谢

4ioopgfo

4ioopgfo1#

使用遮罩

tab['date']=tab['date'].mask(tab['date'].eq('1871-1'),'1871-11')

     date  zeros
0  1871-01    0.0
1  1871-02    0.0
2  1871-11    0.0
3  1871-11    0.0
4  1871-12    0.0

或者,使用np。其中

tab['date']=np.where(tab['date'].eq('1871-1'),'1871-11',tab['date'])

在下面的注解中,您指出希望对具有不同前缀的多个值执行此操作。
请尝试:

tab['date']=np.where(tab.date.str.contains('-1$'),tab['date']+'1',tab['date'])

tab['date']=tab['date'].mask(tab.date.str.contains('-1$'),tab['date']+'1')

相关问题