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