使用字符串变量值来定义数据帧python-pandas



我已经生成了很多字符串变量,如下所示

for i in range(10):
    r='df'+str(i)
    r== pd.DataFrame(np.random.rand(4, 5),
                   index=["A", "B", "C", "D"],
                   columns=["I", "J", "K", "L", "M"])

我得到的结果是

TypeError: Could not compare ['df0'] with block values

我希望能得到

df0, df1, ... df9

具有相同的索引和列,但值不同。

我只是发现它,似乎需要区分2个引号:1)'和2)"

在这种情况下,使用exec()函数很重要

k=[]
for i in range(10):
    r='df'+str(i)
    exec(r + " = pd.DataFrame(np.random.rand(4, 5), index=['A', 'B', 'C', 'D'],columns=['I', 'J', 'K', 'L', 'M'])")
    k.append(r)

观察结果

for i in k:
    print(i)
    print(globals()[i])

最新更新