我有一个包含多个列的数据框,下面是该数据框中的前3列:
data_df = pd.DataFrame({'id':['era','bb','cs','jd','ek','gtf','okg','huf','mji','loj','djjf','wloe','rfm','cok'],
'doc':[1050 ,580,170,8, 7, 220, 45155,305,458,201,48,78,256,358],
'dif':[1,1,1,3,3,2,2,3,4,5,8,7,9,10]})
data_df
id doc dif
0 era 1050 1
1 bb 580 1
2 cs 170 1
3 jd 8 3
4 ek 7 3
5 gtf 220 2
6 okg 45155 2
7 huf 305 3
8 mji 458 4
9 loj 201 5
10 djjf 48 8
11 wloe 78 7
12 rfm 256 9
13 cok 358 10
我想更改“dif”列中的值,就像更改相反的值一样。我的意思是我想把1改成10,2改成9,3改成8,。。。。10比1。我该怎么做? 我试着像下面这样做,但我无法确定下次要更正哪些值
data_df.loc[(data_df.dif == 1),'dif']= 10
data_df['dif'].mask(data_df['dif'] == 2, 9, inplace=True)
任何帮助都将不胜感激。提前谢谢
或者,如果您想在适当的位置执行此操作:
其实很简单:
或将11替换为
data_df["dif"].max() + 1
创建映射的dict-
相关问题 更多 >
编程相关推荐