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)
添加回答
舉報