【问题标题】:loop through variables names in Python循环遍历 Python 中的变量名称
【发布时间】:2021-04-24 05:01:26
【问题描述】:

我正在使用 Python。 我有一个名为 df 的数据框,它有 3 列:a、b、c。 我想做一个循环遍历所有变量并为每个变量生成一个numpy数组并削减每个变量的最后一个数字。到目前为止,我已经尝试过,但它不起作用:

df = pd.DataFrame(
    [[1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]],
    columns=['a', 'b', 'c'])
    variables= [a,b,c]
    for x in variables:
        x  = np.transpose(np.matrix(df.x.to_numpy(np.float64)))
        x=x[:-1]

【问题讨论】:

  • 简单的for col in df.columns: ... df[col]...怎么样?
  • 请注意,您正在重新分配循环变量 x,这可能不是您想要的。
  • 我确实想生成 3 个变量,分别称为 a、b 和 c。这可能不是最佳的,但我有这样生成的其余代码......
  • df.to_numpy() 产生一个二维数组,df.x 是系列,结果是一维。为什么是np.matrixtranspose?如果要将某个数组的元素分配给 3 个变量,请使用 unpackinga,b,c = np.array([1,2,3])

标签: python numpy loops variables slice


【解决方案1】:

来自 cmets:

我确实想生成 3 个变量,分别称为 a、b 和 c。这可能不是最佳的,但我有像这样生成的其余代码

听起来您在这里真正要问的是如何动态设置变量名以匹配任意字符串。

如果您真的想这样做,this question 及其重复链将为您提供一些选择。

但我强烈建议您寻找其他方法来做到这一点。 dict 是最明显的选择。如果您的其余代码需要它,您最好修复其余代码。

【讨论】:

    猜你喜欢
    • 2022-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 2016-02-05
    相关资源
    最近更新 更多