我有一个具有多列的数据框,其中一些单元格包含字符"DL"和一个浮点.其他单元格仅包含浮点数.
例如:
Column1 | Column2 | |
---|---|---|
row1 | DL10.4 | 5.6 |
row2 | 4.7 | DL8.8 |
我想使用python删除字符"DL",并将剩余的浮点除以2.没有字符的单元格应保持不变,并且不能除以2.
预期结果:
Column1 | Column2 | |
---|---|---|
row1 | 5.2 | 5.6 |
row2 | 4.7 | 4.4 |
我有一个具有多列的数据框,其中一些单元格包含字符"DL"和一个浮点.其他单元格仅包含浮点数.
例如:
Column1 | Column2 | |
---|---|---|
row1 | DL10.4 | 5.6 |
row2 | 4.7 | DL8.8 |
我想使用python删除字符"DL",并将剩余的浮点除以2.没有字符的单元格应保持不变,并且不能除以2.
预期结果:
Column1 | Column2 | |
---|---|---|
row1 | 5.2 | 5.6 |
row2 | 4.7 | 4.4 |
DL
之后的值使用Series.str.extract
Series.str.extractall
,除以2
,并用原始数据帧替换非DL
valeus:
df1 = df.apply(lambda x: x.str.extract('DL(\d+\.\d+)', expand=False))
df = df1.astype(float).div(2).fillna(df).astype(float)
print (df)
Column1 Column2
row1 5.2 5.6
row2 4.7 4.4