Python 通过列表字典筛选数据帧

Python 通过列表字典筛选数据帧,python,pandas,dataframe,indexing,Python,Pandas,Dataframe,Indexing,我有一个包含电影信息的数据框,我正在尝试过滤这些行,以便如果字典列表包含“name”==“specified genre”,它将显示包含该类型的电影 我试过使用列表理解 filter = ['Action'] expectedResult = [d for d in df if d['name'] in filter] 但是,我最终出现了一个错误: TypeError:字符串索引必须是整数您的循环,df中d的将为您的值提供标题。 您的d将具有泛型作为值。 尝试运行:- for d in df:

我有一个包含电影信息的数据框,我正在尝试过滤这些行,以便如果字典列表包含“name”==“specified genre”,它将显示包含该类型的电影

我试过使用列表理解

filter = ['Action']
expectedResult = [d for d in df if d['name'] in filter]
但是,我最终出现了一个错误:


TypeError:字符串索引必须是整数

您的循环,df中d的
将为您的值提供标题。
您的d将具有泛型作为值。
尝试运行:-

for d in df:
    print(d)

您将了解

d是代码中的一个列名。这就是为什么会出现这个错误

请参见以下示例:

将熊猫作为pd导入
df=pd.DataFrame({“abc”:[1,2,3],“def”:[4,5,6]})
对于df中的d:
印刷品(d)
给出:

abc
def
我认为你要做的事情可以通过以下方式实现:

df=pd.DataFrame({“流派”:[“某物”,“其他事物],“abc”:[“电影1”,“电影2”]})
电影=录音(“记录”)
[m[“abc”]表示电影中的m,如果m[“流派”]=“某物”]
其中:

['movie1']

能否提供一些示例输入数据和预期输出(无图像)?请看,谢谢!欢迎来到StackOverFlow!这更适合作为评论而不是回答。请参阅:@ AlgMyTrx考虑将此标记为评论/低质量的答案,而不是编辑它来帮助更新的用户。谢谢!to_dict()非常有效,谢谢