gpt4 book ai didi

python - pandas 获得两列或多列的逐行最小值

转载 作者:IT老高 更新时间:2023-10-28 21:07:12 30 4
gpt4 key购买 nike

如何将两个数据帧的最小值作为 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

我被这个错误弄糊涂了。数据列只是数字和名称,我不确定索引在哪里起作用。

import pandas as pd
import 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=0;需要指定 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

关于python - pandas 获得两列或多列的逐行最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33975128/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com