パンダINC:
事はあるので、私が持っていることは、次のデータ・ベースを言うことができます:
A B
1 5
2 6
3 7
4 1
5 4
6 3
7 5
8 8
9 5
このデータフレームの名前はDFであると言うことができます
私は、この場合(私の場合13)内のすべての3行は最大を取得するために、そうプットからこのようsomehtingされるというコードをしたいです:
row 3 has a max of 7
row 5 has a max of 4
row 8 has a max of 8
私はそのために考えていた。このような何かをしました
count = 0
count1 = 3
for vals in df[B]:
max = max(vals.iloc[count:count1])
count = count + 3
count1 = count1 + 3
print(max)
しかし、これやって、私ははAttributeErrorを得る:「フロート」オブジェクトが属性「ILOC」がありません
だから、任意のアイデアを歓迎しているありがとう
アンディ・L.:
使用しgroupby
たカスタムグループIDとにidxmax
とloc
。使用n
あなたがグループ化したい行数として
n = 3
df_out = df.loc[df.groupby(np.arange(len(df)) // n).B.idxmax()]
Out[1201]:
A B
2 3 7
4 5 4
7 8 8