Pandas:如何从两个数据帧的联合中获取虚拟变量列?

我有两个数据框,每个数据框都具有相同的变量和行长度,但是分类变量(对象列)有时在一个与另一个中具有不同的实现。


这就是我的意思。


Frame 1 | categorical_1 | categorical_2 |||  Frame 2 | categorical_1 | categorical_2

row 1   | blue          | flakes        |||  row 1   | blue          | flakes

row 2   | red           | cheerios      |||  row 2   | red           | flakes

row 3   | blue          | cheerios      |||  row 3   | green         | flakes

正如您在上面的基本插图中所见,绿色仅出现在第二个数据框中,而cheerios 仅出现在我的第一个数据框中。


基本上,我需要一种方法来考虑两个数据帧(或更多)的“变量范围”来创建虚拟变量列,所以我不能只调用pd.get_dummies它们中的任何一个。


明月笑刀无情
浏览 120回答 1
1回答

素胚勾勒不出你

pandas 中没有其他功能可以帮助您做到这一点。正如您所提到的,pd.get_dummies只能在一个数据框中创建虚拟对象。您的数据框中是否有索引或不同的 ID?如果你这样做,你可以categorical_2将它们合并到一个数据帧中。然后您可以使用pd.get_dummies并最终根据不同的索引或 ID 将其匹配回原始数据帧。如果你不这样做,我认为处理这个问题的唯一方法是手动编码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python