【问题标题】:How to concat 'variable names' with for-loop or other iteration methods in Python?如何在 Python 中使用 for 循环或其他迭代方法连接“变量名”?
【发布时间】:2019-04-04 05:12:06
【问题描述】:

我想找到一种简单的方法来迭代变量名以将它们全部连接起来。

我做了一些随机数据,但变量名是 a1, a2 ~ a100。现在我必须将它们全部连接起来。我正在尝试一一手工编码。 像这样

pd.concat([a1,a2,a3..... a100],axis=1) 
a60 = pd.DataFrame(np.random.uniform(0,143.628,size=(100000, 1)))
a61 = pd.DataFrame(np.random.uniform(0,143.658,size=(100000, 1)))
a62 = pd.DataFrame(np.random.uniform(0,143.719,size=(100000, 1)))
a63 = pd.DataFrame(np.random.uniform(0,143.628,size=(100000, 1)))
a64 = pd.DataFrame(np.random.uniform(0,143.658,size=(100000, 1)))
a65 = pd.DataFrame(np.random.uniform(0,143.7,size=(100000, 1)))
a66 = pd.DataFrame(np.random.uniform(0,214.767,size=(100000, 1)))
a67 = pd.DataFrame(np.random.uniform(0,9.226,size=(100000, 1)))
a68 = pd.DataFrame(np.random.uniform(0,170.3,size=(100000, 1)))
a69 = pd.DataFrame(np.random.uniform(0,145.337,size=(100000, 1)))
a70 = pd.DataFrame(np.random.uniform(0,170.782,size=(100000, 1)))
a71 = pd.DataFrame(np.random.uniform(0,12.809,size=(100000, 1)))
a72 = pd.DataFrame(np.random.uniform(0,194.567,size=(100000, 1)))
a73 = pd.DataFrame(np.random.uniform(0,6.159,size=(100000, 1)))
a74 = pd.DataFrame(np.random.uniform(0,143.628,size=(100000, 1)))
a75 = pd.DataFrame(np.random.uniform(0,143.643,size=(100000, 1)))
a76 = pd.DataFrame(np.random.uniform(0,143.737,size=(100000, 1)))
a77 = pd.DataFrame(np.random.uniform(0,18.625,size=(100000, 1)))
a78 = pd.DataFrame(np.random.uniform(0,214.9,size=(100000, 1)))
a79 = pd.DataFrame(np.random.uniform(0,14.8,size=(100000, 1)))
a80 = pd.DataFrame(np.random.uniform(0,144.8,size=(100000, 1)))
a81 = pd.DataFrame(np.random.uniform(0,143.9,size=(100000, 1)))
a82 = pd.DataFrame(np.random.uniform(0,144.3,size=(100000, 1)))
a83 = pd.DataFrame(np.random.uniform(0,44.534,size=(100000, 1)))
a84 = pd.DataFrame(np.random.uniform(45.74,259.159,size=(100000, 1)))
a85 = pd.DataFrame(np.random.uniform(51.66,267.259,size=(100000, 1)))
a86 = pd.DataFrame(np.random.uniform(52.98,283.884,size=(100000, 1)))
a87 = pd.DataFrame(np.random.uniform(49.14,276.592,size=(100000, 1)))
a88 = pd.DataFrame(np.random.uniform(40.19,228.077,size=(100000, 1)))
a89 = pd.DataFrame(np.random.uniform(39.245,229,size=(100000, 1)))
a90 = pd.DataFrame(np.random.uniform(45.018,267.293,size=(100000, 1)))
a91 = pd.DataFrame(np.random.uniform(45.772,269.908,size=(100000, 1)))
a92 = pd.DataFrame(np.random.uniform(16.005,140.107,size=(100000, 1)))
a93 = pd.DataFrame(np.random.uniform(12.894,126.177,size=(100000, 1)))
a94 = pd.DataFrame(np.random.uniform(16.61,131.948,size=(100000, 1)))
a95 = pd.DataFrame(np.random.uniform(12.51,112.167,size=(100000, 1)))
a96 = pd.DataFrame(np.random.uniform(-0.016,311.89,size=(100000, 1)))
a97 = pd.DataFrame(np.random.uniform(0,0,size=(100000, 1)))
a98 = pd.DataFrame(np.random.uniform(44.509,250.067,size=(100000, 1)))
a99 = pd.DataFrame(np.random.uniform(42.672,246.016,size=(100000, 1)))
a100 = pd.DataFrame(np.random.uniform(79.272,222.04,size=(100000, 1)))

我不知道如何迭代变量名以进行循环。我希望有人能在这方面帮助我。 有什么简单的方法可以做到这一点吗?我提前感谢。

【问题讨论】:

    标签: python for-loop iteration concat


    【解决方案1】:

    这应该会有所帮助,迭代所需的范围,存储 temp_var,然后将它们添加到最终的 df final_df

    final_df=pd.DataFrame()
    for i in range(1, 101):
        temp_var = "a"+str(i)
        final_df = pd.concat([eval(temp_var)], axis=1)
    
    print(final_df)
    

    【讨论】:

      【解决方案2】:

      代替a60, a61, ..., a98,您可以直接使用a[index] 保存值的列表,您可以轻松地遍历所有这些值。

      如果有任何特定原因使用此命名约定,请务必提及。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-31
        • 1970-01-01
        • 2014-03-24
        • 1970-01-01
        • 2012-01-21
        • 2022-01-23
        • 2020-05-04
        • 1970-01-01
        相关资源
        最近更新 更多