2017-10-16 126 views
0

我有一個啤酒類型列表和一個評級列表。有重複,所以每種啤酒類型有多個評級。我把它們變成了元組:使用group查找數據框中每個鍵的平均值

merge = zip(types, ratings) 

我試圖找到每種啤酒類型的平均評分。我試圖將元組變成熊貓數據框:

df = pandas.DataFrame([merge]) 

但我不知道要在groupby參數中放什麼。 我想這太:

df = pandas.DataFrame({'Ratings': [ratings], 'Types':[types]}) 
df.groupby('Types').mean() 

,但它也不起作用。我會把什麼參數放到groupby中來完成這個工作?或者正在使用groupby而不是要走的路?

+0

如果你的追求離子沒有回答,你應該要求澄清。否則,你可以[接受一個答案](https://stackoverflow.com/help/someone-answers)。 –

+0

對不起。你的回答非常有幫助。謝謝! –

回答

0

使用pd.DataFrame.from_records

df = pd.DataFrame.from_records(merge, columns=['types', 'ratings']) 

如果ratings不是一個數字類型,使用pd.to_numeric將其轉換:

df.ratings = pd.to_numeric(df.ratings, errors='coerce') 

接下來,groupbytypes,並找到mean

g = df.groupby('types').ratings.mean() 
print(g)