如何用单独的字典值替换数据框列 - python
How to replace dataframe column with separate dict values - python
我的 user_artist_plays
下面的数据框显示了一个用户列,但为了进行统计计算,我必须将这些混合字符替换为仅 int
的 ID。
users artist plays
0 00001411dc427966b17297bf4d69e7e193135d89 sting 12763
1 00001411dc427966b17297bf4d69e7e193135d89 stars 8192
2 fffe8c7f952d9b960a56ed4dcb40a415d924b224 cher 117
3 fffe8c7f952d9b960a56ed4dcb40a415d924b224 queen 117
上面只显示了两个用户的多个条目,如果我可以让该列与单独字典中的现有键匹配任何条目就可以了:
users = user_artist_plays['users'].unique()
user_dict = {ni: indi for indi, ni in enumerate(set(users))}
user_dict
{'068156fafd9c4237c174c648d3d484cbf509cb75': 0,
'6deecfbc46a81e4faf398b2afd991be05ab78f10': 74205,
'1e23333ff4f637420a8a38d467ccecfda064afb9': 1,
'0b282cafc949efe4163b7946b7104957a18cf010': 2,
'd1867cbda35e0d48e9a8390d9f5e079c9d99ea96': 3}
这是我尝试切换 int
值的尝试:
for k, v in user_dict.items():
if user_artist_plays['users'].any(k):
user_artist_plays['users'].replace(v)
它保留了 users
列的原始值...
我的 user_artist_plays
下面的数据框显示了一个用户列,但为了进行统计计算,我必须将这些混合字符替换为仅 int
的 ID。
users artist plays
0 00001411dc427966b17297bf4d69e7e193135d89 sting 12763
1 00001411dc427966b17297bf4d69e7e193135d89 stars 8192
2 fffe8c7f952d9b960a56ed4dcb40a415d924b224 cher 117
3 fffe8c7f952d9b960a56ed4dcb40a415d924b224 queen 117
上面只显示了两个用户的多个条目,如果我可以让该列与单独字典中的现有键匹配任何条目就可以了:
users = user_artist_plays['users'].unique()
user_dict = {ni: indi for indi, ni in enumerate(set(users))}
user_dict
{'068156fafd9c4237c174c648d3d484cbf509cb75': 0,
'6deecfbc46a81e4faf398b2afd991be05ab78f10': 74205,
'1e23333ff4f637420a8a38d467ccecfda064afb9': 1,
'0b282cafc949efe4163b7946b7104957a18cf010': 2,
'd1867cbda35e0d48e9a8390d9f5e079c9d99ea96': 3}
这是我尝试切换 int
值的尝试:
for k, v in user_dict.items():
if user_artist_plays['users'].any(k):
user_artist_plays['users'].replace(v)
它保留了 users
列的原始值...