[英]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.