如何用列名替换pandas中的值

2024-05-21 02:09:27 发布

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

我正在尝试使用姓氏.fm推荐用户喜欢听的歌曲的数据。在

我使用最近邻算法来预测用户喜欢听的歌曲。 我已经建立了模型,但我面临的问题是我得到的是整数值,而不是熊猫数据帧中的歌曲名称。 这是我得到的截图

enter image description here

我希望在数据集中输入歌曲名,而不是值部分的数字。 我如何实现这一点。 输出应该是这样的:

enter image description here 这是我的Ipython笔记本的链接:http://nbviewer.ipython.org/github/kartikjagdale/Last.fm-Song-Recommender/blob/master/Ipython%20Notebook/Last.Fm%20Song%20Recommeder.ipynb

并链接到我的github项目:https://github.com/kartikjagdale/Last.fm-Song-Recommender/


Tags: 数据用户模型github算法song链接整数
1条回答
网友
1楼 · 发布于 2024-05-21 02:09:27

DataFrame.columns是一个Index对象,可以用作数组。在

您可以使用pd.DataFrame(df.columns[model])来获取名称,下面是一个示例:

import pandas as pd
import numpy as np
from sklearn.neighbors import NearestNeighbors
df = pd.DataFrame(np.random.randint(0, 5, (10, 5)), columns=list("ABCDE"))
neigh = NearestNeighbors(n_neighbors=3)
neigh.fit(df.T) # Fit the data
model = neigh.kneighbors(df.T, return_distance=False)
pd.DataFrame(df.columns[model])

相关问题 更多 >