如果在列表中找到另一列的值,如何从df的一列返回值

2024-09-29 19:05:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python比较生疏,主要使用pandas进行数据分析

我有一个包含两列的DataFrameB,然后是一个名为C的值列表。 我需要我的代码来检查df.B中的每个值是否在列表C中,对于所有的值True,然后将df.A中相应的值返回到列表中

我尝试过使用for循环,后来发现了.isin()函数,但就是不知道如何利用这两个函数中的任何一个,从而得到我需要的结果。我真的非常感谢任何帮助或提示


Tags: 函数代码true利用dataframepandasdf列表
2条回答

当您可以使用熊猫本地选择东西时,请不要使用循环

df[df.B.isin(C)].A.to_list()

如果B名称不是单个单词(例如COLUMN NAME),请使用:

df[df['B'].isin(C)]['A'].to_list()

df.B.isin(C)将根据B中的值是否在C中返回一系列真/假。然后使用此选项选择原始数据帧中的行。最后,选择列A并转换为列表

使用:

df.loc[df['B'].isin(C), 'A'].tolist()

相关问题 更多 >

    热门问题