编辑:请用现有代码更新此帖子。我使用ArcPy中的要素类转换为numpy的阵列,然后大熊猫数据帧:熊猫群体2列,选择第3列的最大值
itsct_nparr = arcpy.da.FeatureClassToNumPyArray(prItsct, ['FID_preproc','PLANREG_NAME','Shape_Area'])
#create a pandas DataFrame objects from the NumPy arrays
itsct_df = DataFrame(itsct_nparr, columns=['FID_preproc','PLANREG_NAME','Shape_Area'])
maxarea = itsct_df.groupby(['FID_preproc','PLANREG_NAME'], as_index=False).max()
maxarea.to_csv(csvout)
del itsct_nparr
正如标题所暗示的,我试图按FID_preproc和使用Shape_Area的最大NAME。
Input:
FID_preproc NAME Shape_Area
1340 A 25952.35775
1341 A 118099.5219
1341 B 305220.1244
1342 A 12053.13585
Desired Result:
FID_preproc NAME Shape_Area
1340 A 25952.35775
1341 B 305220.1244
1342 A 12053.13585
这让我接近我想要的,但产生了与上面的第一个样本集相同的结果。
maxarea = itsct_df.groupby(['FID_preproc','PLANREG_NAME'], as_index=False).Shape_Area.max()
你的问题是什么?你写的代码会给你你的结果, –
当我将maxarea datafram保存为csv时,它会生成与上面的“Input”样本相同的结果,而不是“期望的结果”。 – user2309282
does'maxarea = itsct_df.loc [itsct_df.groupby('FID_preproc',as_index = False)['Shape_Area'] .idxmax()]'然后呢? – EdChum