我正在嘗試創建一個字典,但無法按照我的打算進行工作。我覺得我很親密。我Yelp的數據DF:Python Pandas to_dict函數
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]
會給我所有的用戶1審查的地方和星星。
abc[user1][place1]
會給出相應的星級評分。我試過to_dict
熊貓函數。我試圖groupby
第一,然後dict(list(groupby()))
,並沒有什麼似乎將其轉換爲我想要的。
也沒了,但幾乎:
ddd = cat_rev.set_index('user_id').to_dict(outtype='list')
我<3你!!!!!!!! – ElmoVT
你>我也是3! :) – unutbu
@ZJS下面的答案更清潔,恕我直言。 –