为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python 在混合列中进行 GB 到 TB 的复杂转换

使用 Python 在混合列中进行 GB 到 TB 的复杂转换

PHP
素胚勾勒不出你 2023-11-09 21:20:57
我有一个数据框 df,如下所示:  TB    TB2  4.6    5.0  6.8    502.4 G我想要的输出是将后面带有字母 G 的任何值转换为 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)但是,该列中的所有值都将被转换,无论其后面的“G”如何。我现在正在研究这个,任何建议都会受到赞赏
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

#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


查看完整回答
反对 回复 2023-11-09
  • 1 回答
  • 0 关注
  • 112 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信