1 回答
TA贡献1796条经验 获得超4个赞
您可以使用这样的东西(我没有使用Column4,因为您的样本数据中不存在):
df.groupby(['Column1', 'Column2', 'Column3', 'part_no']).apply(print)
它调用对print指定列具有相同值的每个组指定的函数(在本例中)。输出是:
Column1 Column2 Column3 part_no Values
0 A J X 1 1
Column1 Column2 Column3 part_no Values
1 A K Y 2 2
Column1 Column2 Column3 part_no Values
2 B K X 3 3
Column1 Column2 Column3 part_no Values
4 C L X 5 5
Column1 Column2 Column3 part_no Values
3 C L Y 4 4
8 C L Y 4 9
9 C L Y 4 10
10 C L Y 4 11
Column1 Column2 Column3 part_no Values
5 D J X 6 6
6 D J X 6 7
7 D J X 6 8
现在您需要做的就是定义一个函数,其中包含您在内部循环中拥有的任何内容,例如:
def Pothuri(part_df):
# whatever other code you didn't show us, using part_df['Values'] etc.
然后:
df.groupby(['Column1', 'Column2', 'Column3', 'part_no']).apply(Pothuri)
添加回答
举报