python pandas dataframe索引匹配

吉安杰

在python pandas数据框“ df”中,我具有以下三列:

song_id | user_id | play_count

我有一个根据play_count(用户听过歌曲多少次)发明的评分表:

play_count | rating
1-33       | 1
34-66      | 2
67-99      | 3   
100-199    | 4
>200       | 5

我正在尝试根据播放次数向该表添加一列“评分”。例如,如果play_count = 2,则评分将为“ 1”。

所以看起来像这样

song_id | user_id | play_count | rating
X232    | u8347   | 2          | 1
X987    | u3701   | 50         | 2
X271    | u9327   | 10         | 1
X523    | u1398   | 175        | 4

在excel中,我会使用match / index来做到这一点,但是我不知道如何在python / pandas中做到这一点。

它是if / else循环和isin的结合吗?

艾汉

您需要像在Excel中一样需要这些范围的端点:

import numpy as np
bins = [1, 33, 66, 99, 199, np.inf]

然后,您可以使用pd.cut查找相应的等级:

pd.cut(df['play_count'], bins=bins, include_lowest=True, labels=[1, 2, 3, 4, 5]).astype(int)

astype(int)在末尾添加了内容,因为pd.cut返回了一个分类序列,因此您不能对其进行算术计算。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python Pandas Dataframe:索引长度不匹配-df ['column'] = ndarray

Python Pandas DataFrame索引

从DataFrame到父索引的总和-Python / Pandas

Pandas Dataframe 中的索引行不在索引列表中(Python)

Python Pandas:获取列匹配特定值的行的索引

Python pandas 计算与索引列完全匹配的列

Python Pandas:获取与列值匹配的所有行的索引

如何将列表元素与 Pandas DataFrame 中的索引匹配

Python:使用条件索引逐列附加 Pandas DataFrame

使用 Pandas python 使用给定属性的 DataFrame 索引时出错

Python Pandas:如何在DataFrame索引中使用转换?

Python Pandas DataFrame融化多索引多层次

使用Datetime索引或列查询Python Pandas DataFrame

Python:当所需的索引系列重复时,对pandas DataFrame进行透视

Python Pandas从数组设置Dataframe索引和列名

Python Pandas:时区转换后重新索引DataFrame

将 pandas.DataFrame 索引保存到 txt 文件(Python)

Python Pandas DataFrame从0重新索引某些数据

从 Python Pandas DataFrame 获取 columnt 值和索引值

在Python Pandas DataFrame中设置索引名称的最佳方法

Python Pandas中的DataFrame中的多索引难于聚合?

Python Pandas中的DataFrame中的多索引存在难题吗?

python pandas dataframe union合并列表到索引

Python Pandas:根据DataFrame中的值查找索引

在Pandas Dataframe单元中找到[Python列表]的匹配值总和?

在Pandas DataFrame Python中匹配列并突出显示结果

Python Pandas 多索引

python警告:布尔系列键将被重新索引以匹配DataFrame索引

Python Pandas Dataframe融化