gpt4 book ai didi

Python将函数应用于列表,将结果存储为列表

转载 作者:行者123 更新时间:2023-12-01 09:28:03 24 4
gpt4 key购买 nike

愚蠢的问题,但我无法让这个工作适合我的一生。

我有一个简单的函数,它接受一个列值,并返回具有该列值的所有行。假设它返回出版商的所有书籍:

def book_publisher(publisher, df):
books = df.loc[df['publisher_name'] == name]['book_name']
return [books]

使用此函数,我想获取所有出版商的图书列表:

[[book1, book2,],[book3, book4]]

最终目标是创建一个像这样的字典:

{publisher1:[list of books], publisher2:[list of books]}

我想我只会使用

zip(list of publishers, list of books)

到达那里,但不知道如何获取每个出版商的图书列表。

最佳答案

假设您的数据框如下所示:

df = pd.DataFrame({'publisher_name': ['john', 'mark', 'john', 'fred','john'], 'book_name' : ['aa', 'bb', 'cc', 'dd','ee']})

book_name publisher_name
0 aa john
1 bb mark
2 cc john
3 dd fred
4 ee john

我们可以使用字典理解来获取字典:

{name: list(book_publisher(name, df)[0].values) for name in df['publisher_name']}

如果numpy数组也可以接受,您可以删除list()

我不知道你的数据是什么样的。如果它只是一个包含 book_namepublisher_name 列的数据框,您可能还需要将 return [books] 更改为 return books 在你的函数中,然后你可以从我上面的答案中删除 [0]

关于Python将函数应用于列表,将结果存储为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50204441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com