Python循环更新多个变量
Python loop to update multiple variables
假设 a、b、c、d 都是预先存在的 pandas 个数据帧。
我想创建一个循环,将这些数据帧中的每一个转换为 numpy 数组,然后打印一条消息说明数组的形状(理想情况下是一条消息,如“数组 'b' 的形状是 . ..“ ETC)。 重要的是,我想为新的 numpy 数组重新使用原始变量名
我尝试了以下几种变体:
data = [a, b, c, d]
for i in range (len(data)):
data[i] = data[i].values
print('The shape of array xx is' + str(data[i].shape))
上面的问题是,当它更新列表的内容时,原始数据帧本身(a、b、c、d)没有更新,我不确定如何引用变量打印消息时列表中的名称。我可能会写一些后续代码,其中 a = data[0] 等,但这似乎效率低下。
我认为这应该很容易,但我没有找到太多运气......
提前致谢
不建议使用exec
,但这回答了你的问题
for i in list("abcd"):
exec(f'{i} = {i}.values')
此外,如果你想打印形状
for i in list("abcd"):
exec(f'{i} = {i}.values')
exec(f'shape = {i}.shape')
print(f'The shape of array {i} is {shape}')
假设 a、b、c、d 都是预先存在的 pandas 个数据帧。
我想创建一个循环,将这些数据帧中的每一个转换为 numpy 数组,然后打印一条消息说明数组的形状(理想情况下是一条消息,如“数组 'b' 的形状是 . ..“ ETC)。 重要的是,我想为新的 numpy 数组重新使用原始变量名
我尝试了以下几种变体:
data = [a, b, c, d]
for i in range (len(data)):
data[i] = data[i].values
print('The shape of array xx is' + str(data[i].shape))
上面的问题是,当它更新列表的内容时,原始数据帧本身(a、b、c、d)没有更新,我不确定如何引用变量打印消息时列表中的名称。我可能会写一些后续代码,其中 a = data[0] 等,但这似乎效率低下。
我认为这应该很容易,但我没有找到太多运气...... 提前致谢
不建议使用exec
,但这回答了你的问题
for i in list("abcd"):
exec(f'{i} = {i}.values')
此外,如果你想打印形状
for i in list("abcd"):
exec(f'{i} = {i}.values')
exec(f'shape = {i}.shape')
print(f'The shape of array {i} is {shape}')