看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
本示例我们利用 pandas 对数据进行清洗,提取出纯数字,得到一个规整的数据。我们将用 applymap 应用一个函数对所有值进行遍历处理。
以下为我们的示例数据:
import pandas as pd
from io import StringIO
data = '''
Column1 Column2
row1 DL10.4 5.6
row2 4.7 DL8.8
'''
df = pd.read_csv(StringIO(data), sep=r'\s+')
df
# ...
需求为对于包含 DL 的内容去除 DL 保留数字,并对这个数字除以 2,得到最终结果。
针对这个问题可以用 applymap 应用一个函数对所有值进行遍历处理。处理逻辑可以是替换字符串中 DL 为空串,再转类型为浮点并除以 2。
根据以上思路,一行代码可以完成:
df.applymap(lambda x: float(x.replace('DL', ''))/2 if 'DL' in x else x)
'''
Column1 Column2
row1 5.2 5.6
row2 4.7 4.4
'''
面对这样简单的问题,我们没有必要使用正则表达式来处理。
这样就完成了需求。
(完)
更新时间:2024-08-18 16:00:23 标签:pandas 数字 字符