范围内数据框所有列的最小值

min of all columns of the dataframe in a range

我想找到限制为只有几列的数据框每一行的最小值。 例如:考虑一个大小为 10*100 的数据框。我想要中间 5 行的最小值,这变成了 10*5 的大小。

我知道使用 df.min(axis=0) 找到最小值,但我不知道如何限制列数。感谢您的帮助。

我使用pandas 库

您可以先选择您感兴趣的那部分列,然后仅将 DataFrame.min() 应用于该选择:

df.iloc[:, start:end].min(axis=0)

如果您希望这些是中间的 5 个,只需找到对应于该范围的开始和结束的整数索引:

start = int(n_columns/2 - 2.5)
end = start + 5

遵循“pciunkiewicz”的逻辑:

首先,您应该 select 您想要的列。您可以使用函数:.loc[..].iloc[..].

第一个你可以使用列名。当它接受 2 个参数时,第一个是行的索引。第二个是列。

df.loc[[rows], [columns]] # The filter data should be inside the brakets.
df.loc[:, [columns]] # This will consider all rows.

您也可以使用 .iloc。在这种情况下,您必须使用整数来定位数据。所以你不必知道列的名称,而是它们的位置。