我有一个列,其中包含如下数据
伪数据:
df = pd.DataFrame(["Lyreco A-Type small 2i",
"Lyreco C-Type small 4i",
"Lyreco N-Part medium",
"Lyreco AKG MT 4i small",
"Lyreco AKG/ N-Type medium 4i",
"Lyreco C-Type medium 2i",
"Lyreco C-Type/ SNU medium 2i",
"Lyreco K-part small 4i",
"Lyreco K-Part medium",
"Lyreco SNU small 2i",
"Lyreco C-Part large 2i",
"Lyreco N-Type large 4i"])
我想创建一个额外的列,它剥离数据,并在每行中给出字符串(见下文)的所需部分
Column_1 Column_2
Lyreco A-Type small 2i A-Type
Lyreco C-Type small 4i C-Type
Lyreco N-Part medium N-Part
Lyreco STU MT 4i small STU MT
Lyreco AKG/ N-Type medium 4i AKG/ N-Type
Lyreco C-Type medium 2i C-Type
Lyreco C-Type/ SNU medium 2i C-Type/ SNU
Lyreco K-part small 4i K-part
Lyreco K-Part medium K-Part
Lyreco SNU small 2i SNU
Lyreco C-Part large 2i C-Part
Lyreco N-Type large 4i N-Type
如何从第一列中提取第2列?
3条答案
按热度按时间iklwldmw1#
您可能会发现以下逻辑适用于您的数据:
上面的模式从第二个术语开始匹配,直到到达
small
,medium
或large
关键字。这里是一个工作正则表达式demo。50few1ms2#
看看你发布的例子,拆分列值并返回“中间”项就足够了。你可以做一个简单的函数来封装逻辑并将其应用到 Dataframe 。
输出:
nwnhqdif3#