【发布时间】:2021-02-13 23:33:41
【问题描述】:
我有一个列名为“col”的数据框 df 作为第二列,数据如下所示: Dataframe
想在一列中将文本部分与名称“套管尺寸”分开,将数字部分与另一列中的“深度到”分开。 Desired Output
import pandas as pd
import io
from google.colab import files
uploaded = files.upload()
df = pd.read_excel(io.BytesIO(uploaded['Test-Checking.xlsx']))
#Method 1
df2 = pd.DataFrame(data=df, columns=['col'])
df2 = df2.col.str.extract('([a-zA-Z]+)([^a-zA-Z]+)', expand=True)
df2.columns = ['CasingSize', 'DepthTo']
df2
#Method 2
def split_col(x):
try:
numb = float(x.split()[0])
txt = x.split()[1]
except:
numb = float(x.split()[1])
txt = x.split()[0]
x['col1'] = txt
x['col2'] = numb
df2['col1'] = df.col.apply(split_col)
df2
尝试了两种方法,但都不能正常工作。有人帮我吗?
Google Colab中的代码
Excel文件Attached
【问题讨论】: