我想找到一个数据帧的每一行的最小值,限制为只有几列。例如:考虑一个大小为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[..]
。
第一个您可以使用列名。当它有2个参数时,第一个是行的索引。第二个是列。
df.loc[[rows], [columns]] # The filter data should be inside the brakets.
df.loc[:, [columns]] # This will consider all rows.
您也可以使用.iloc
。在这种情况下,您必须使用整数来定位数据。因此,您不必知道列的名称,而只需知道它们的位置。