我想找到数据帧中每一行的最小值,限制为只有几列。例如:考虑一个大小为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
。在这种情况下,您必须使用整数来定位数据。因此,您不必知道列的名称,只需知道它们的位置。