【发布时间】:2021-12-30 02:16:39
【问题描述】:
假设 a、b、c、d 都是预先存在的 pandas 数据帧。
我想创建一个循环,将这些数据帧中的每一个转换为 numpy 数组,然后打印一条消息,说明数组的形状(理想情况下是一条消息,如“数组'b'的形状是......”等)。 重要的是,我想为新的 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] 等,但这似乎效率低下。
我认为这应该很容易,但我没有太多运气搜索...... 提前致谢
【问题讨论】:
-
你不能引用变量名,因为它是外部的。如果您希望保留变量名称,请将它们作为字符串键添加到字典中。此外,
df.to_numpy().shape也有效。此外,除非您使用就地修改,否则您无法更新数据本身,这不适用于数据框本身,而主要是数组。
标签: python loops multiple-variable-return