pandas获得两列或更多列的行最小值
如何作为熊猫数据框方程的一部分引用两个数据框的最小值?我尝试使用min()
无法正常工作的python函数。很抱歉,如果在某处有充分的文档证明,但无法找到有效的解决方案来解决此问题。我正在寻找与此类似的东西:
data['eff'] = pd.DataFrame([data['flow_h'], data['flow_c']]).min() *Cp* (data[' Thi'] - data[' Tci'])
我也尝试使用pandasmin()
函数,该函数也不起作用。
min_flow = pd.DataFrame([data['flow_h'], data['flow_c']]).min()InvalidIndexError: Reindexing only valid with uniquely valued Index objects
这个错误让我感到困惑。数据列只是数字和名称,我不确定索引在哪里起作用。
import pandas as pdimport numpy as np
np.random.seed(365)
rows = 10
flow = {'flow_c': [np.random.randint(100) for _ in range(rows)],
'flow_d': [np.random.randint(100) for _ in range(rows)],
'flow_h': [np.random.randint(100) for _ in range(rows)]}
data = pd.DataFrame(flow)
# display(data)
flow_c flow_d flow_h
0 82 36 43
1 52 48 12
2 33 28 77
3 91 99 11
4 44 95 27
5 5 94 64
6 98 3 88
7 73 39 92
8 26 39 62
9 56 74 50
回答:
如果要获取mininum
两列或更多列的行,请使用pandas.DataFrame.min
并指定axis=1
。
data['min_c_h'] = data[['flow_h','flow_c']].min(axis=1)# display(data)
flow_c flow_d flow_h min_c_h
0 82 36 43 43
1 52 48 12 12
2 33 28 77 33
3 91 99 11 11
4 44 95 27 27
5 5 94 64 5
6 98 3 88 88
7 73 39 92 73
8 26 39 62 26
9 56 74 50 50
以上是 pandas获得两列或更多列的行最小值 的全部内容, 来源链接: utcz.com/qa/434127.html