python - Python - 从字符串中提取用连字符分隔的数字
问题描述
我正在尝试在数据框列(名称深度)中提取由连字符分隔的 2 个数字(深度从和深度到)。虽然第一个数字被正确提取,但第二个数字却不是。我尝试了很多方法。
ConvCore = pd.read_csv(r'ConvCore.csv', encoding='cp1252')
ConvCore.columns = ['Depth', 'k', 'phi', 'Well']
ConvCore['DepthFrom'] = ConvCore['Depth'].str.extract('([0-9.]+)')
#ConvCore['DepthTo'] = ConvCore['Depth'].str.extract('-([0-9.]+)')
#for i in ConvCore:
#ConvCore['DepthTo'] = re.search(r'(\d+)-', ConvCore['Depth'][i-1])
#ConvCore['DepthFrom'] = ConvCore['Depth'].str.extract('(\d+)').astype(float)
#DepthTo = ConvCore['Depth'].str.extract('(?P<digit1>[0123456789])').astype(float)
#ConvCore['DepthTo'] = ConvCore['Depth'].str.split("-")
#ConvCore['DepthFrom'] = re.match(r'(\d+)', ConvCore['Depth']).group()
解决方案
试试这个方法:
ConvCore['DepthFrom'] = ConvCore['Depth'].str.split("-", expand=True)[0]
ConvCore['DepthTo'] = ConvCore['To'].str.split("-", expand=True)[1]
推荐阅读
- postgresql - 在 PostgreSQL 中搜索带和不带口音的越南语
- node.js - 如何使用启动参数(在无头模式下使用铬)提高 puppeteer 的性能?
- postgresql - 再次执行 PostgreSQL 查询的结果以获得最终结果集?
- python - 使用 Django 将日期选择器添加到现有的 html 表单
- css - React-rte 富文本编辑器更改按钮颜色
- recaptcha - 没有修改的 reCaptcha 问题
- python - 您正在尝试在没有默认值的情况下将不可为空的字段“post”添加到流中;我们不能那样做
- kotlin - 为什么 onClickListener 在我的片段活动中不起作用?
- solidity - 智能合约成功转账,但钱包里没有
- javascript - 使用百分比突出显示 Chartist 部分