gpt4 book ai didi

Python Pandas to_dict 函数

转载 作者:行者123 更新时间:2023-11-28 21:15:31 27 4
gpt4 key购买 nike

我正在尝试创建字典,但无法按我预期的方式运行。我觉得我很亲近。我是 yelp 数据的 df:

import pandas as pd
file_rev = 'blah.csv'

reviews=pd.read_csv(file_rev, sep=',',header=0, nrows=10000)

cols = ['user_id', 'business_id', 'stars']
cat_rev = reviews[cols]

print cat_rev

df:

                   user_id             business_id  stars
0 Xqd0DzHaiyRqVH3WRG7hzg vcNAWiLM4dR7D2nwwJ7nCA 5
1 H1kH6QZV7Le4zqTRNxoZow vcNAWiLM4dR7D2nwwJ7nCA 2
2 zvJCcrpm2yOZrxKffwGQLA vcNAWiLM4dR7D2nwwJ7nCA 4
3 KBLW4wJA_fwoWmMhiHRVOA vcNAWiLM4dR7D2nwwJ7nCA 4
4 zvJCcrpm2yOZrxKffwGQLA vcNAWiLM4dR7D2nwwJ7nCA 4
5 Qrs3EICADUKNFoUq2iHStA vcNAWiLM4dR7D2nwwJ7nCA 1
6 jE5xVugujSaskAoh2DRx3Q vcNAWiLM4dR7D2nwwJ7nCA 5
7 QnhQ8G51XbUpVEyWY2Km-A vcNAWiLM4dR7D2nwwJ7nCA 5
8 tAB7GJpUuaKF4W-3P0d95A vcNAWiLM4dR7D2nwwJ7nCA 1
9 GP-h9colXgkT79BW7aDJeg vcNAWiLM4dR7D2nwwJ7nCA 5
10 uK8tzraOp4M5u3uYrqIBXg UsFtqoBl7naz8AVUBZMjQQ 5

我希望能够将其创建为如下所示的字典:

abc = {user1 : {business1:star_rating, business2:star_rating…, 
businessN:star_rating},
user2: {} … }

然后访问我只是:abc[user1] 会给我 user1 评论过的所有地点和星级。
abc[user1][place1] 只会给出相应的星级。

我试过 to_dict panda 函数。我首先尝试了 groupby,然后是 dict(list(groupby())),但似乎没有任何东西可以将其转换为我想要的方式。

也不是,但差不多:

ddd = cat_rev.set_index('user_id').to_dict(outtype='list')

最佳答案

您可以使用 groupby 和字典理解:

{user_id: pd.Series(grp['stars'].values, index=grp['business_id']).to_dict() 
for user_id, grp in df.groupby(['user_id'])}

产量

{'GP-h9colXgkT79BW7aDJeg': {'vcNAWiLM4dR7D2nwwJ7nCA': 5},
'H1kH6QZV7Le4zqTRNxoZow': {'vcNAWiLM4dR7D2nwwJ7nCA': 2},
'KBLW4wJA_fwoWmMhiHRVOA': {'vcNAWiLM4dR7D2nwwJ7nCA': 4},
'QnhQ8G51XbUpVEyWY2Km-A': {'vcNAWiLM4dR7D2nwwJ7nCA': 5},
'Qrs3EICADUKNFoUq2iHStA': {'vcNAWiLM4dR7D2nwwJ7nCA': 1},
'Xqd0DzHaiyRqVH3WRG7hzg': {'vcNAWiLM4dR7D2nwwJ7nCA': 5},
'jE5xVugujSaskAoh2DRx3Q': {'vcNAWiLM4dR7D2nwwJ7nCA': 5},
'tAB7GJpUuaKF4W-3P0d95A': {'vcNAWiLM4dR7D2nwwJ7nCA': 1},
'uK8tzraOp4M5u3uYrqIBXg': {'UsFtqoBl7naz8AVUBZMjQQ': 5},
'zvJCcrpm2yOZrxKffwGQLA': {'vcNAWiLM4dR7D2nwwJ7nCA': 4}}

关于Python Pandas to_dict 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30060616/

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