大熊猫获得两列的最小值作为等式的一部分

时间:2015-11-28 18:50:28

标签: python pandas dataframe

如何将两个数据帧的最小值作为pandas数据帧方程的一部分引用?我尝试使用python min()函数,该函数不起作用。对不起,如果这在某处有详细记录,但我无法找到解决此问题的有效方法。我正在寻找类似的东西:

data['eff'] = pd.DataFrame([data['flow_h'], data['flow_c']]).min() *Cp* (data[' Thi'] - data[' Tci'])

我也尝试使用pandas min()函数,这也无效。

min_flow = pd.DataFrame([data['flow_h'], data['flow_c']]).min()

InvalidIndexError: Reindexing only valid with uniquely valued Index objects

我对此错误感到困惑。数据列只是数字和名称,我不确定索引在哪里发挥作用。

In [108]: data['flow_c']
Out[108]: 
0       74.014640
1       74.150579
2       74.014640
3       73.960195
4       74.069046
5       73.960195
6       73.987423
7       73.905710

2 个答案:

答案 0 :(得分:36)

我的问题对我来说不是很清楚,但我的猜测是你试图获得两个mininum(不是Series s)的元素DataFrame。如果这是您想要的,请尝试:data[['flow_h','flow_c']].min(axis=1)

答案 1 :(得分:4)

如果您希望获得多个列的单个最小值:

data[['flow_h','flow_c']].min().min()

第一个“ min()”计算每列的最小值,并返回一个熊猫系列。第二个“最小值”返回每列最小值的最小值。