簡體   English   中英

為每對唯一的列對切片數據幀

[英]Slice dataframe for each unique pair of columns

我想根據從兩列中獲取的唯一對來拆分熊貓數據框,然后選擇相對於該對的行並投影其余的列。

df: Col1  Col2  Col3  Col4
      1     1     a    100
      1     2     b    200 
      1     2     c    300
      1     2     d    400
      3     4     e    500
      3     4     f    600

然后

idxs = (...df...) # expression on df
for idx in idxs:
    print(idx)
    group = (...df...) # expression on df
    print(group)

應該產生類似

(1,1)
Col3  Col4
  a    100

(1,2)
Col3  Col4
  b    200
  c    300
  d    400

(1,3)
Col3  Col4
  e    500
  f    600

選擇和投影部分似乎很容易,但要獲得唯一的配對卻不容易。 我怎樣才能有效地做到這一點?

使用groupby

for x,y in df.groupby(['Col1','Col2']):

    print(x)
    print(y)


(1, 1)
   Col1  Col2 Col3  Col4
0     1     1    a   100
(1, 2)
   Col1  Col2 Col3  Col4
1     1     2    b   200
2     1     2    c   300
3     1     2    d   400
(3, 4)
   Col1  Col2 Col3  Col4
4     3     4    e   500
5     3     4    f   600

暫無
暫無

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

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