如何使用matplotlib绘制数据帧行的图形?

2024-04-25 03:42:18 发布

您现在位置:Python中文网/ 问答频道 /正文

下面给出了我的数据帧的一个小片段。你知道吗

       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)]

dataframe包含两列UserID和UserID建议“推荐”列包含推荐给该用户的产品的productID以及以列表形式显示的评分。你知道吗

我想做的是,如果我点击用户A001,那么一个图形应该得到显示图形的y轴将显示推荐给A001的产品ID,X轴将显示该产品的额定值产品。这个应该在每个UserID的情况下执行

我知道如何使用matplotlib用单个值绘制一个图,但这里有一个值列表。我该怎么做呢。你知道吗


Tags: 数据用户图形列表产品useridrecommendationsa001
1条回答
网友
1楼 · 发布于 2024-04-25 03:42:18

您可以尝试以下代码来解决问题:

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()

相关问题 更多 >