我有一个具有多列的数据框,其中一些单元格包含字符"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.extractSeries.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

Python相关问答推荐

pysnmp—lextudio使用next()和getCmd()生成器导致TypeError:tuple对象不是迭代器''

不允许 Select 北极滚动?

在用于Python的Bokeh包中设置按钮的样式

如何从比较函数生成ngroup?

按条件添加小计列

Scipy差分进化:如何传递矩阵作为参数进行优化?

替换包含Python DataFrame中的值的<;

PYTHON中的selenium不会打开 chromium URL

奇怪的Base64 Python解码

在FastAPI/Starlette中使用WebSockets时如何运行后台任务?

用考克斯回归的生存分析系列的真值是模棱两可的.

如何使用Tkinter的CheckButtom隐藏或显示由滑块控制的画布线?

Python:将带有UNNESTED div标签的html文档解析为dataframe(使用Beautiful Soup )

将CONTEXT_PROCESSOR数据返回到html进行循环时出现问题

";abc";+5被认为是python中的一个表达式吗?

数字巨 Python S列表与Pandas 数据帧的比较

巨 Python 品脱摄氏度单位

匹配+字符串的Python RegEx,直到找到下一个匹配项

导入错误:无法导入PerfetoLibrary

游程编码产生错误的结果