从 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)
我想从列表中取出“已输入”列中的数据
这是我的代码:
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)