Python 如何基于列值查询数据帧

Python 如何基于列值查询数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧: 身份证件 名称 1. A. 2. B 3. C 只需拆下df['Name']前面的附加开放式括号即可 df_new = df[df['Name'].isin(lst)] 只需拆下df['Name']前面的附加开放式括号即可 df_new = df[df['Name'].isin(lst)] 找到解决方案后,是与列表相关的问题导致了空表的结果 清单的格式应为: mylist =['A','C'] 而不是 mylist=[A,C]找到了解决方案,是与列表相关的问题导致了空表的

我有一个数据帧:

身份证件 名称 1. A. 2. B 3. C
只需拆下df['Name']前面的附加开放式括号即可

df_new = df[df['Name'].isin(lst)]

只需拆下df['Name']前面的附加开放式括号即可

df_new = df[df['Name'].isin(lst)]

找到解决方案后,是与列表相关的问题导致了空表的结果

清单的格式应为:

mylist =['A','C']
而不是


mylist=[A,C]
找到了解决方案,是与列表相关的问题导致了空表的结果

清单的格式应为:

mylist =['A','C']
而不是


mylist=[A,C]
您可以使用
.loc
lambda
,因为它更具可读性

将熊猫作为pd导入
dataf=pd.DataFrame({'ID':[1,2,3],'Name':['A','B','C']})
名称=['A','C']
#锁定列名称中包含列名的行
df=dataf.loc[lambda d:d['Name'].isin(名称)]
打印(df)

您可以使用
.loc
lambda
,因为它更具可读性

将熊猫作为pd导入
dataf=pd.DataFrame({'ID':[1,2,3],'Name':['A','B','C']})
名称=['A','C']
#锁定列名称中包含列名的行
df=dataf.loc[lambda d:d['Name'].isin(名称)]
打印(df)

数一数你的括号。谢谢@Arne,我已经做了(在帖子中修改)。它可以工作,但我只看到一个空表,结果显示了列标签,没有任何行:(在
[A,C]
中有引号作为
[“A”,“C”]
,对吗?否则它们是变量…你是指真实数据还是样本数据?这段代码是否也返回为空:
df=pd.DataFrame({'ID':[1,2,3],'Name':['A','B','C']));mylist=['A','C'];df_new=df[(df.Name.isin(mylist))]
数一数你的括号。谢谢@Arne,我已经做了(在帖子中进行了修改)。它可以工作,但我只看到一个空表,结果显示了列标签,没有任何行:(你在
[A,C]
中有引号,如
[“A”,“C”]
,对吗?否则它们就是变量…你是指真实数据还是样本数据?这段代码是否也返回为空:
df=pd.DataFrame({'ID':[1,2,3],'Name':['A','B','C']});mylist=['A','C'];df_new=df[(df.Name.isin(mylist))]
谢谢你澄清。我认为
A
C
应该是名称变量。否则,
mylist=[A,C]
应该已经抛出了一个错误。也许你只是碰巧用这些名称定义了其他变量。谢谢你澄清了这一点。我认为
A
C
应该是名称变量。否则,
mylist=[A,C]
可能会抛出一个错误。也许你只是碰巧用这些名称定义了其他变量。