从 DF 中删除列表 - Pandas - python

Remove list from inside DF - Pandas - python

我想从列表中取出“已输入”列中的数据

这是我的代码:

cel = str(input('Qual o modelo? \nModelo:'))
    df['digitado'] =df.apply(lambda row: re.findall(cel,row['modelo'], flags=re.I),axis=1)
    df

Return:

Return (data frame)

如何从[]和空的[]中取出“OT”留下nan

您可以使用 re.search:= 运算符代替 re.findall

输入数据帧:

         modelo
0         OT632
1  TCL 10 32 GB
2         OT639
3      Blade A3

然后:

cel = "OT"

df["digitado"] = df.apply(
    lambda row: m.group(0)
    if (m := re.search(cel, row["modelo"], flags=re.I))
    else np.nan,
    axis=1,
)
print(df)

打印:

         modelo digitado
0         OT632       OT
1  TCL 10 32 GB      NaN
2         OT639       OT
3      Blade A3      NaN

或没有 := 运算符:

def fn(row, cel):
    m = re.search(cel, row["modelo"], flags=re.I)
    if m:
        return m.group(0)
    return np.nan


df["digitado"] = df.apply(fn, cel=cel, axis=1)
print(df)