我有一個(gè)數(shù)據(jù)框 df,如下所示: TB TB2 4.6 5.0 6.8 502.4 G我想要的輸出是將后面帶有字母 G 的任何值轉(zhuǎn)換為 TB,而不干擾該列中的其他值。1000 GB = 1 TB TB TB2 4.6 5.0 6.8 0.5024一位成員建議使用以下代碼:df['Partial_Capacity TB']=df['Partial_Capacity TB'].str.replace('\s\w+','').astype(float).div(1000)但是,該列中的所有值都將被轉(zhuǎn)換,無(wú)論其后面的“G”如何。我現(xiàn)在正在研究這個(gè),任何建議都會(huì)受到贊賞
1 回答

慕的地8271018
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
#Select rows containing G
m=df.TB2.str.contains('G')
#Use the loc accessor to mask relevant column, strip G from string and divide by 1000
df.loc[m,'TB2']=df.loc[m,'TB2'].str.replace('\s\w+','').astype(float).div(1000)
print(df)
TB TB2
0 4.6 5.0
1 6.8 0.5024
- 1 回答
- 0 關(guān)注
- 154 瀏覽
添加回答
舉報(bào)
0/150
提交
取消