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