合并pandas中的虚拟数据帧

2024-09-30 07:32:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧的列表,它们是我的数据集的虚拟变量。我试图找到一种方法,将所有这些虚拟变量添加到一个更大的主虚拟数据帧中。复杂性开始出现的原因是数据帧之间的一些标记是相同的。注意:标记应该是相同的名称,我需要以一种方式合并它们,包括获取当前虚拟名称下的所有数据。下面的示例数据

nested_dummies = [
    DataFrame1,
    DataFrame2,
    DataFrame3,
    ... ,
    DataFrame10
]

我的问题是一些虚拟变量同名,必须合并以保持“1”

^{pr2}$

我总共有10个这样的数据帧。最后,我需要的是有一个单独的数据帧,每个标签都有1个,基于10个数据帧中的虚拟值,每个标记都有一个适当的1或0。在

我尝试过concat,combine_first,我手工构建了许多不同的方法,但我无法得到任何结果:1)不覆盖以前的值;2)将值添加到现有列中

有什么想法吗?在

FTIW:这个问题源于在列中使用“;”分隔字符串作为数据点。我将这些信息提取到10个“tag”列中。这些标记列是产生数据帧的原因


Tags: 数据方法标记名称示例列表方式原因
1条回答
网友
1楼 · 发布于 2024-09-30 07:32:40

假设我知道您在寻找什么,如果任何帧在(索引,标记)单元格中有1,则在最后一帧中需要1,否则可以concat然后groupby

In [31]: pd.concat(dfs).groupby(level=0).any().astype(int)
Out[31]: 
   tag1  tag2  tag3  tag4  tag5  tag6  tag9
0     0     1     1     1     0     1     0
1     0     0     1     1     1     1     1
2     1     1     1     0     0     0     0
3     1     1     0     0     0     0     1
4     0     1     1     0     1     0     1
5     1     0     0     1     0     1     0

.max()也可以。在

(我可能在这里假设了太多我过去做过类似的事情,所以我可能用自己的经验来填补皮尔斯克引起注意的空白。)

相关问题 更多 >

    热门问题