簡體   English   中英

如何將 Pandas DataFrame 中的數據與多索引組合到列表中

[英]How do I combine data from a Pandas DataFrame with a multiindex into a list

I have a Pandas dataframe with a multiindex, the result of a pivot (as in the pivot pandas function description)

df = pd.DataFrame({'foo': ['one', 'one', 'one', 'two', 'two',
                       'two'],
               'bar': ['A', 'B', 'C', 'A', 'B', 'C'],
               'baz': [1, 2, 3, 4, 5, 6],
               'zoo': ['x', 'y', 'z', 'q', 'w', 't']})
df

    foo bar baz zoo
0   one A   1   x
1   one B   2   y
2   one C   3   z
3   two A   4   q
4   two B   5   w
5   two C   6   t

dp = df.pivot(index='foo', columns='bar', values=['baz', 'zoo'])
dp

          baz         zoo
bar A   B   C   A   B   C
foo                     
one 1   2   3   x   y   z
two 4   5   6   q   w   t

我想讓它看起來像這樣:

bar     A       B       C
foo         
one [1,x]   [2,y]   [3,z]
two [4,q]   [5,w]   [6,t]

0 級索引中的數據在哪里組合在一個列表中......有什么想法可以做到這一點嗎? 試過 agg(list) 但這沒有用......

一種選擇是先組合列bazzoo ,然后組合 pivot 表:

df['combined'] = list(zip(df.baz, df.zoo))

df.pivot('foo', 'bar', 'combined')
#bar       A       B       C
#foo                        
#one  (1, x)  (2, y)  (3, z)
#two  (4, q)  (5, w)  (6, t)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM