指定列范围作为参数
Specifying a range of columns as parameter
我想提取一个有 100 行的 table 的最大值:可以很差的东西是这样实现的:
maxA = max(data['a1size'].max(), data['a2size'].max(), data['a3size'].max()... and continuing like this until a100size.
当然,这个解决方案一点也不理想。
是否有比使用 for
循环更好更优雅的方法?
我正在寻找某种 ..
运算符。类似于:
maxA = max(data['a1size'].max() .. data['a100size'].max())
loc
运算符允许您按列名使用切片:
maxA = data.loc[:, 'a1size':'a100size'].values.max()
请注意,与核心 Python 切片相比,最后一列包含在此处。第一个 :
指定您想要所有行。
如果您要获取最大值的列是连续的,则此方法有效。否则,您可以使用列名列表来索引数据框。要构建这样的列表,您可以使用列表理解:
a_size_cols = [f'a{i}size' for i in range(1, 101)]
maxA = data[a_size_cols].values.max()
我想提取一个有 100 行的 table 的最大值:可以很差的东西是这样实现的:
maxA = max(data['a1size'].max(), data['a2size'].max(), data['a3size'].max()... and continuing like this until a100size.
当然,这个解决方案一点也不理想。
是否有比使用 for
循环更好更优雅的方法?
我正在寻找某种 ..
运算符。类似于:
maxA = max(data['a1size'].max() .. data['a100size'].max())
loc
运算符允许您按列名使用切片:
maxA = data.loc[:, 'a1size':'a100size'].values.max()
请注意,与核心 Python 切片相比,最后一列包含在此处。第一个 :
指定您想要所有行。
如果您要获取最大值的列是连续的,则此方法有效。否则,您可以使用列名列表来索引数据框。要构建这样的列表,您可以使用列表理解:
a_size_cols = [f'a{i}size' for i in range(1, 101)]
maxA = data[a_size_cols].values.max()