首页 > 解决方案 > 如何在 Python 中使用 for 循环或其他迭代方法连接“变量名”?

问题描述

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

我做了一些随机数据,但变量名是 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)))

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

标签: pythonfor-loopiterationconcat

解决方案


这应该会有所帮助,迭代所需的范围,存储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)

推荐阅读