Python 3.x 根据另一列中的条件向python列表中添加内容的正确方法是什么?

Python 3.x 根据另一列中的条件向python列表中添加内容的正确方法是什么?,python-3.x,pandas,list,Python 3.x,Pandas,List,目标:生成“名称”列包含数字的单位列表 描述:当前代码很接近,但在最后需要一个列表并填充满足请求条件的输出时出现问题 代码: 非常感谢您的帮助。您可以使用查找列名称中带有\d的任何数字,然后使用它选择所需的列单位行: l_units = df.Units[df.Name.str.contains('\d')].tolist() print (l_units) [21, 18] 您可以使用查找列名中带有\d的任何数字,然后使用它选择所需的列单位行: l_units = df.Units[df.N

目标:生成“名称”列包含数字的单位列表

描述:当前代码很接近,但在最后需要一个列表并填充满足请求条件的输出时出现问题

代码:

非常感谢您的帮助。

您可以使用查找列名称中带有\d的任何数字,然后使用它选择所需的列单位行:

l_units = df.Units[df.Name.str.contains('\d')].tolist()
print (l_units)
[21, 18]
您可以使用查找列名中带有\d的任何数字,然后使用它选择所需的列单位行:

l_units = df.Units[df.Name.str.contains('\d')].tolist()
print (l_units)
[21, 18]
您可以将pandas str.contains与正则表达式一起使用:

然后:

您可以将pandas str.contains与正则表达式一起使用:

然后:


我不太确定我是否理解您在寻找什么,但您可以使用printdf['Units'].值。如果你寻找所有的结果,你可以构建一个列表,然后我不确定我是否理解你在寻找什么,但是你可以使用printdf['Units'].值。如果您查找所有结果,您可以构建一个列表列表,然后将其展平
df[df["Name"].str.contains('\d', regex=True)]

    Name    Units
1   nick 11 21
3   jack_14 18
list(df[df["Name"].str.contains('\d', regex=True)].Units)

[21, 18]