Как объединить «имена переменных» с циклом for или другими итерационными методами в Python? - PullRequest
0 голосов
/ 04 апреля 2019

Я хочу найти простой способ перебора имен переменных, чтобы объединить их все.

Я сделал несколько случайных данных, но имена переменных: 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)))

Я не знаю, как перебирать имена переменных для зацикливания. Я бы хотел, чтобы кто-нибудь помог мне в этом. Есть ли простой способ сделать это? Я ценю заранее.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2019

Это должно помочь, перебрать нужный диапазон, сохранить 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)
0 голосов
/ 04 апреля 2019

Вместо a60, a61, ..., a98 вы можете напрямую использовать список, в котором a[index] содержит значение, и вы можете легко перебирать все из них.

Укажите, есть ли какая-либо конкретная причина для использования этого соглашения об именах.

...