【问题标题】:Python use as loop to make a formula [closed]Python用作循环来制作公式[关闭]
【发布时间】:2020-02-12 02:53:51
【问题描述】:

我想使用循环来制作公式。我将添加 pandas 列,但我将添加的列数取决于循环中的条件。

例如

l=[1,2,3,4]
s='a='
out=''
for i in l:
    out=out+'+'+str(i)

在这个例子中,s+out 应该等于10 而不是'a=+1+2+3+4'

【问题讨论】:

  • 如果你想做数学,为什么要转换成字符串?
  • 这只是一个例子,我的实际问题是使用数据框和列标题
  • 不知道您希望我们如何帮助您完成此示例。在此示例中,您使用要对其进行数学运算的字符串。显然,它不起作用。然后你说它应该是一个df ...
  • 您要添加一个数字并将其作为字符串存储到列标题吗?如果您向我们展示您的真实示例,这很容易但更好。 @fred.schwartz 也注意你的举止,Mathieu 想帮助你并提供反馈。
  • 你应该包含一个真实的sn-p数据——这不是很清楚。

标签: python pandas


【解决方案1】:

您可以看到您在代码中添加了字符串,在 python 中使用+ 登录字符串只会连接字符串并创建更大的字符串

我认为您正在搜索的是函数exec

l=[1,2,3,4]
s='a='
out = '+'.join(map(str, l)) # out = '1+2+3+4'
exec(s+out) # a=10
print (a) # 10

解释:

'+'.join 将列表中的所有数字以“+”作为分隔符

map(str, l)将所有数字转成字符串

exec(out) 执行字符串

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    相关资源
    最近更新 更多