Python数组乘法约束

2024-10-02 12:29:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图运行一个优化问题,我似乎无法解决。我是Python的新手。你知道吗

我有一个8760个数字(0-1)的数据帧。我需要将数组中的每一行乘以一个因子,然后对数组求和。这个总和应该等于x,例如50000。我的代码示例如下。你知道吗

pp.prob = pp.LpProblem("P2g", pp.LpMinimize)
SolarCap = pp.LpVariable("SolarCap", lowBound=0)

pp.prob +=  SolarCap * 5

for i,j in enumerate(SolverWS['Solar']):
    x = j * SolarCap
    x = x + x 
    pp.prob += x == P2gprod

status = pp.prob.solve()

Tags: 数据代码示例数字数组因子pp新手
1条回答
网友
1楼 · 发布于 2024-10-02 12:29:20

如果我理解正确的话,您需要将由n个条目组成的数据帧乘以每行相同的因子,然后对得到的数据帧求和。你知道吗

您可以使用数据帧的mul()方法(文档here

至于对元素求和,您所要做的就是调用dataframe.values属性上的sum()

下面是一个简单的例子

import numpy as np
import pandas as pd
# Create a random dataframe of 10 columns and 876 rows with random float values between 0 and 1
df = pd.DataFrame(np.random.uniform(0,1,size=(876, 10)))
print(df)
print(df.values.sum())
other = 10
# See https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.multiply.html
df1 = df.mul(other)
# Alternatively, for just multiplying the whole dataframe
#df1 = df * 10
print(df1)
print(df1.values.sum())

相关问题 更多 >

    热门问题