2017-02-19 42 views
0

我已經產生了大量的字符串變量作爲遵循使用字符串變量值來定義數據幀python-熊貓

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 

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

回答

0

我才發現它,它似乎是一個需要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])