Python 将数据帧列复制到数据透视表中的单元格
我有一个数据帧,看起来像以下内容:Python 将数据帧列复制到数据透视表中的单元格,python,numpy,pandas,Python,Numpy,Pandas,我有一个数据帧,看起来像以下内容: | A | B | C | D ---+---+---+---+--- 1 | a | c | e | g ---+---+---+---+--- 2 | a | c | e | h ---+---+---+---+--- 3 | b | d | f | i 我希望从中得到一个数据透视表,a在列中,B在行中,然后C和D作为集合,如下所示: | a | b ---+-----------+-------- c | (e
| A | B | C | D
---+---+---+---+---
1 | a | c | e | g
---+---+---+---+---
2 | a | c | e | h
---+---+---+---+---
3 | b | d | f | i
我希望从中得到一个数据透视表,a在列中,B在行中,然后C和D作为集合,如下所示:
| a | b
---+-----------+--------
c | (e, h, i) | ()
---+-----------+--------
d | () | (f, i)
然后:
或者,您可以使用唯一元素的元组而不是set object:
>>> f = lambda obj: tuple(np.unique(obj[['C', 'D']].values))
>>> df.groupby(['B', 'A']).apply(f).unstack()
A a b
B
c (e, g, h) NaN
d NaN (f, i)
>>> f = lambda obj: tuple(np.unique(obj[['C', 'D']].values))
>>> df.groupby(['B', 'A']).apply(f).unstack()
A a b
B
c (e, g, h) NaN
d NaN (f, i)