在熊猫数据框中打印索引和最大形状的值

时间:2018-12-13 23:21:23

标签: python pandas

我有一个pandas数据框,想要特定列中最大形状的索引和值。列本身由具有各种形状的numpy数组组成,(99,13)是最常见的形状,但也存在越来越大的形状。我已经通过merged_test['shapes'] = [x.shape for x in merged_test.MEL.values]将所有形状放在一列中,但是由于形状是元组,因此无法使用标准方法来找到最大形状。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以通过使用np.product获取所有元素的大小和索引并进行枚举,将它们放入数据框,然后按大小降序并排在第一行来实现:

#One-liner
pd.DataFrame([(i, np.product(x.shape)) for i, x in enumerate(merged_test.MEL.values)], columns=['index','size']).sort('size', ascending=False).iloc[0]

#Or splitting it out to see each step
inds_and_sizes = [(i, np.product(x.shape)) for i, x in enumerate(merged_test.MEL.values)]
df = pd.DataFrame(inds_and_sizes, columns=['index','size'])
df_sorted = df.sort('size', ascending=False)
biggest = df_sorted.iloc[0]