python - Pandas Dataframe:在具有相同类别的不同现有数据帧上使用相同的类别代码
问题描述
我有两个熊猫数据框,它们有一些共同的列。这些列属于类别类型,但不幸的是,两个数据帧的类别代码不匹配。例如我有:
>>> df1
artist song
0 The Killers Mr Brightside
1 David Guetta Memories
2 Estelle Come Over
3 The Killers Human
>>> df2
artist date
0 The Killers 2010
1 David Guetta 2012
2 Estelle 2005
3 The Killers 2006
但:
>>> df1['artist'].cat.codes
0 55
1 78
2 93
3 55
然而:
>>> df2['artist'].cat.codes
0 99
1 12
2 23
3 99
我想要的是我的第二个数据框df2
采用与第一个相同的类别代码df1
而不更改类别值。有没有办法做到这一点?
(编辑)
这是我的两个数据框的屏幕截图。本质上,我希望与数据框具有相同的song_tags
cat 代码。同样是从另一个数据框(包含歌曲数据及其标签,没有用户信息)之间的合并创建的,然后通过pickle保存和加载。此外,可能需要补充一点,我必须从type强制转换和输入。artist_name
track_name
songs
song_tags
songs
tag
artist_name
track_name
song_tags
category
object
我认为基本上我的问题是:如何修改现有数据框列的类别代码?
解决方案
推荐阅读
- java - 注入具有特定接口的所有 bean 列表
- php - 按关系分组 laravel
- python - 我可以获得代码审查吗?如果我能更有效地做到这一点,需要帮助
- c# - 如何在不使用内置 c# 方法的情况下反转字符串
- python - 为什么一些相同的 POST 请求比其他请求长两到三倍?
- android - 如何更改 BottomNavigationBar 背景颜色?
- ruby-on-rails - 将可跟踪(设计)添加到现有用户模型?
- excel - VBA单击网页中的Onclick按钮“包含验证功能”
- python - 熊猫。复制多索引级别
- razor - 为什么 bootstrap 4 偏移样本不起作用?