簡體   English   中英

如何使用matplotlib繪制熊貓數據框行圖?

[英]How to plot a graph of pandas dataframe rows using matplotlib?

下面是我的數據框的小片段。

       UserID                Recommendations
 0      A001        [(B000OR5928, 5.671419620513916), (B000A1HU1G, 5.435572624206543), (B0039HBNMA, 5.4260640144348145), (B000EEGAJW, 5.502416133880615), (B001L8KE06, 5.508320331573486), (B0002ZO60I, 5.640686511993408), (B0002D0096, 5.543562412261963), (B0013PU75Y, 5.452023506164551), (B005M0TKL8, 5.481754302978516), (B001PGXHYO, 5.5017194747924805)]
 1      A002        [(B000EEGAJW, 4.382242679595947), (B004ZKIHVU, 4.182255268096924), (B000CBE3GE, 4.242227077484131), (B000CCJP4I, 4.354374408721924), (B000VBC5CY, 4.342846393585205), (B0002KZHQA, 4.127199649810791), (B0026RB0G8, 4.246310234069824), (B0002D0CQC, 4.275753021240234), (B0002M6CVC, 4.679849624633789), (B0002D0KOG, 4.138158321380615)]

數據框包含兩列UserID和Recommendations.recommment列包含向該用戶推薦的產品的productID以及以列表形式的評級。

我想做的是,如果我單擊用戶A001,則將顯示一個圖形。圖形的y軸將顯示推薦給A001的產品ID,X軸將顯示該產品的等級。用戶身份

我知道如何使用matplotlib繪制具有單個值的圖形,但是這里有一個值列表。我該如何處理。

您可以嘗試以下代碼來解決您的問題:

import matplotlib.pyplot as plt
import numpy as np

for i in df.UserID:
  ratings = []
  productsIDs = []

  for points in df.Recommendations[np.where(df.UserID==i)[0]]:
    for point in points:
      ratings.append(point[1])
      productsIDs.append(point[0])

    plt.plot(ratings, productsIDs)
    plt.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM