假设我有两个枢轴表,并将它们合并,为了简单起见,我将使用二进制数字。以下代码起作用:
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个组(红色、紫色和蓝色)。

发布于 2014-03-17 13:35:39
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]我不知道你的第二个问题是什么意思。也许你可以用你的预期输出来举个例子?
https://stackoverflow.com/questions/22452512
复制相似问题