首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重标枢轴表

重标枢轴表
EN

Stack Overflow用户
提问于 2014-03-17 10:56:43
回答 1查看 94关注 0票数 0

假设我有两个枢轴表,并将它们合并,为了简单起见,我将使用二进制数字。以下代码起作用:

代码语言:javascript
复制
import pandas as pd

df=pd.DataFrame({'axis1': ['A','B','C','D'],
                 'A': [1,0,1,1],
                 'B': [1,0,0,0],
                 'C': [0,1,0,1],
                 'D': [1,0,1,0],
                 }).set_index(['axis1'])


df2=pd.DataFrame({'axis1': ['A','E','G','D'],
                 'E': [1,0,0,1],
                 'B': [1,1,0,0],
                 'C': [1,1,0,1],
                 'F': [1,0,1,0],
                 }).set_index(['axis1'])

print (df)
print (df2)

df3 = pd.concat((df, df2)).fillna(0)
g=df3.groupby(df3.index)
g=g.sum()
print(g)

是否有一种方法可以将所有数据标记为字符串,如1='Y'0='N'2='M'

当将两个表与不是二进制数字的数字组合时(即。5,3,2.5)是否有一种方法可以将哪些数据完全从df中分离出来,哪些数据完全来自df2,哪些数据来自df1+df2的组合?

例如,在下面的图中,我将如何将数据从两个dataframes中分离为3个组(红色、紫色和蓝色)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-17 13:35:39

代码语言:javascript
复制
In [7]: replacers = {1: '1=Y', 0: '0=Y', 2: '2=M'}

In [10]: g.replace(replacers)
Out[10]: 
         A    B    C    D    E    F
axis1                              
A      1=Y  2=M  1=Y  1=Y  1=Y  1=Y
B      0=Y  0=Y  1=Y  0=Y  0=Y  0=Y
C      1=Y  0=Y  0=Y  1=Y  0=Y  0=Y
D      1=Y  0=Y  2=M  0=Y  1=Y  0=Y
E      0=Y  1=Y  1=Y  0=Y  0=Y  0=Y
G      0=Y  0=Y  0=Y  0=Y  0=Y  1=Y

[6 rows x 6 columns]

我不知道你的第二个问题是什么意思。也许你可以用你的预期输出来举个例子?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22452512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档