【发布时间】:2020-07-22 16:04:19
【问题描述】:
我想找到限制为仅几列的数据框每一行的最小值。 例如:考虑一个大小为 10*100 的数据框。我想要中间 5 行的最小值,它的大小为 10*5。
我知道使用 df.min(axis=0) 找到最小值,但我不知道如何限制列数。感谢您的帮助。
我使用熊猫库。
【问题讨论】:
标签: python pandas dataframe data-science min
我想找到限制为仅几列的数据框每一行的最小值。 例如:考虑一个大小为 10*100 的数据框。我想要中间 5 行的最小值,它的大小为 10*5。
我知道使用 df.min(axis=0) 找到最小值,但我不知道如何限制列数。感谢您的帮助。
我使用熊猫库。
【问题讨论】:
标签: python pandas dataframe data-science min
您可以首先选择您感兴趣的列切片并将DataFrame.min() 仅应用于该选择:
df.iloc[:, start:end].min(axis=0)
如果您希望这些是中间 5,只需找到对应于该范围的开始和结束的整数索引:
start = int(n_columns/2 - 2.5)
end = start + 5
【讨论】:
遵循 'pciunkiewicz 的逻辑:
首先,您应该选择所需的列。您可以使用以下函数:.loc[..] 或 .iloc[..]。
第一个可以使用列名。当它需要 2 个参数时,第一个是行的索引。第二个是列。
df.loc[[rows], [columns]] # The filter data should be inside the brakets.
df.loc[:, [columns]] # This will consider all rows.
您也可以使用.iloc。在这种情况下,您必须使用整数来定位数据。因此,您不必知道列的名称,而是知道它们的位置。
【讨论】: