【问题标题】:function() missing 4 required positional argumentsfunction() 缺少 4 个必需的位置参数
【发布时间】:2021-12-04 13:57:49
【问题描述】:

问题在第 90 行显示。

我认为主要问题在于数据框。因此,从function 计算值后,我返回一个数据框。该函数在 for 循环中用于生成不同的行,如下所示。

代表性情节: 我一直在尝试一些线索,但仍然无法正常工作

![在此处输入图片描述][1]

import math as m
import matplotlib.pyplot as plt
import pandas as pd

#tst=529
#temp=524
#dtube=0.41

def function(ConstantA,ConstantB,tst,temp,dtube):
# variables and constants
    k0 = 38.9
    e = 90000
    lambd=-328200
    dp=0.003;roecat= 1670; porosity=0.4; cpa=95.2; cpb=32; cpc= 102.81;cpc= 71; ma=28;mb=32;mc=44;md=16; viscosity=0.25e-4;tst=tst;
    dtube=dtube;ntube=25000; ltube= 9.8288; dw=1;wplot=0; yar=0;ybr=0;np=0;pi=3.1416; areacstube= pi * (dtube ** 2) / 4; wmaxtube=ltube * areacstube * roecat;wmax=wmaxtube * ntube;
    # Initial conditions
    w=0; fc=0; fa0=0.8125; fb0=0.26;fd0=2.175;fr=0;temp=temp; p=17; fain=fr * yar+fa0; fbin=fr * ybr+fb0;fdin=fd0;

【问题讨论】:

  • 不知道你能不能试试function(*row)。目前,您在函数调用中似乎缺少一些参数。
  • 那行得通你能解释一下吗?
  • 该函数目前需要多个位置参数。星号* 运算符解包输入序列,例如function(*[1, 2, 3]),否则它会是一个没有* 的参数,变成function(1, 2, 3)
  • 你能帮忙标记数据吗?如何修改轴?
  • 这似乎是一个完全不同的问题。我建议您在 SO 上提出一个新问题 - 当然,一旦您完成了快速的 Google 搜索。

标签: python pandas matplotlib


【解决方案1】:

您正在调用function(row),它只包含所需5 中的一个参数(即ConstantA,ConstantB,tst,temp,dtube)。

如果您想解压缩行中的每个项目,以便与每个参数对应,您可以改为使用function(*row)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-08
    • 2018-09-09
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    相关资源
    最近更新 更多