python - 如何用列名替换 pandas 中的值

标签 python pandas machine-learning data-manipulation

我正在尝试使用 Last.fm 数据制作一个推荐系统来推荐用户喜欢听的歌曲。

我正在使用最近邻居算法来预测用户喜欢听的特色歌曲。 我已经制作了模型,但我面临的问题是我得到的是整数值,而不是 Pandas DataFrame 中的歌曲名称。 这是我得到的屏幕截图

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/

最佳答案

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

关于python - 如何用列名替换 pandas 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28792043/

相关文章:

python - 在 Spark RDD 和/或 Spark DataFrames 中 reshape /透视数据

python - panda的DataFrame适合这个吗?

matlab - 为训练数据创建目标值 - 神经网络

Python 键入 : how to get Type[C] to work with TypeVars and Generics?

python - pandas 通过非 nan 值之前和之后填充 nans

python - PyTorch:时间序列任务的数据加载器

machine-learning - 如何判断 Weka 的 OneR 分类器对提供的数据集使用哪个属性?

javascript - 在 React 中将数据从一个函数传递到另一个函数

Python 正则表达式选择现在完成时的动词

python - Pandas 'Int64' 类型合并后转换为 'object' 类型