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



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

我知道使用df.min(axis=0(来查找最小值,但我不知道如何限制列的数量。谢谢你的帮助。

我用熊猫库。

您可以从选择感兴趣的列切片开始,并将DataFrame.min()仅应用于该选择:

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

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

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

遵循'pciunkiewicz的逻辑:

首先,您应该选择所需的列。您可以使用以下函数:.loc[..].iloc[..]

第一个可以使用列的名称。当它有两个参数时,第一个参数是行的索引。第二个是列。

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

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

最新更新