【发布时间】:2014-03-17 10:56:43
【问题描述】:
假设我有 2 个数据透视表并将它们合并,为了简单起见,我将使用二进制数字。下面的代码有效:
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'
当将 2 个表与非二进制数字(即 5、3、2.5)组合在一起时,有一种方法可以区分哪些数据完全来自 df、完全来自 df2,哪些来自 df1+ 的组合df2?
例如,在下图中,我如何将数据从两个数据帧中分成红色、紫色和蓝色 3 组。
【问题讨论】:
标签: python merge pandas pivot-table