我正在尝试获取每个单元格中具有多个值的唯一值,并对每列中出现的总值求和。
Example:
Name A1 B1 C1
John 1,2,2,2 1,1,1 2,2,2
Cat 2,3,3,3 1,2,3 1,3,3
Dog 3,4 2,3 1
我会得到的答案:
A1 B1 C1 Sum
Values - Count Values - Count Values - Count Values - Count
1 - 1 1 - 2 1 - 1 1 - 4
2 - 2 2 - 2 2 - 2 2 - 6
3 - 2 3 - 2 3 - 1 3 - 6
4 - 1 4 - 1
答案 0 :(得分:0)
您可以做到
s=df.loc[:,'A1':].applymap(lambda x : list(set(x.split(',')))).sum()
df=pd.DataFrame(s.tolist(),index=s.index)
yourdf=df.stack().groupby(level=0).value_counts().unstack(0)
yourdf['sum']=yourdf.sum(1)
yourdf
Out[378]:
A1 B1 C1 sum
1 1.0 2.0 2.0 5.0
2 2.0 2.0 1.0 5.0
3 2.0 2.0 1.0 5.0
4 1.0 NaN NaN 1.0