0
へのグループの変化値:パンダ:私は何を最小限
df = pd.DataFrame({'SERIES1':['A','A','A','A','A','A','B','B','B','B','B','B','B','B','C','C','C','C','C'],
'SERIES2':[1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1],
'SERIES3':[10,12,20,10,12,4,8,8,1,10,12,12,13,13,9,8,7,7,7]})
SERIES1 SERIES2 SERIES3
0 A 1 10
1 A 1 12
2 A 1 20
3 A 1 10
4 A 2 12
5 A 2 4
6 B 1 8
7 B 1 8
8 B 1 1
9 B 1 10
10 B 1 12
11 B 1 12
12 B 1 13
13 B 1 13
14 C 1 9
15 C 1 8
16 C 1 7
17 C 1 7
18 C 1 7
私は必要なものはSERIES1とSERIES2によってグループにあると、そのグループの最小値にシリーズ3で値を変換します。すなわち:
df2 = pd.DataFrame({'SERIES1':['A','A','A','A','A','A','B','B','B','B','B','B','B','B','C','C','C','C','C'],
'SERIES2':[1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1],
'SERIES3':[10,10,10,10,4,4,1,1,1,1,1,1,1,1,7,7,7,7,7]})
SERIES1 SERIES2 SERIES3
0 A 1 10
1 A 1 10
2 A 1 10
3 A 1 10
4 A 2 4
5 A 2 4
6 B 1 1
7 B 1 1
8 B 1 1
9 B 1 1
10 B 1 1
11 B 1 1
12 B 1 1
13 B 1 1
14 C 1 7
15 C 1 7
16 C 1 7
17 C 1 7
18 C 1 7
私は、これは.groupby()で行うことができます感じがありますが、私は、既存のデータフレームでそれを交換するか、新しいシリーズとして追加するかどうかはわかりません。グループごとに正しい最少値です
df.groupby(['SERIES1', 'SERIES2']).min()
SERIES3
SERIES1 SERIES2
A 1 10
2 4
B 1 1
C 1 7
が、私はその元のデータフレームにポップするための簡単な方法を考え出すカント:
は私が得ることができますよ。