下面是一个脚本:
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”的值,而不是从列表日期更改。也许你能帮上忙谢谢
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')
1条答案
按热度按时间4ioopgfo1#
使用遮罩
或者,使用np。其中
在下面的注解中,您指出希望对具有不同前缀的多个值执行此操作。
请尝试:
或