2017-09-13 162 views
0

假設我有一個字典,並創建一個數據幀大熊貓作爲向pandas DataFrame增加字典值。據幀與字典鍵的列名

dict = {'a':1,'b':2,'c':3} 
df = pd.DataFrame(columns = ['a','b','c']) 

每次我創建一個我需要的值作爲行添加到df相同的鍵一個新的字典。最初,df沒有行並且沒有分配索引。我知道的是使用

df.append(pd.Series(), ignore_index=True) 

但是,這不斷增加列。此外,由於字典不會執行命令,難以編碼的東西如list(dict.values())隨機化插入前的命令,創建的列表作爲一行到df,特別是當我不斷更新dict

回答

1

如果你有相同的列中的數據幀,你應該考慮使用concat

pd.concat([df1, df2]) 

如果你想使用追加,假設你有你的dfvalues字典:

values = {'a':1,'b':2,'c':3} 
df = df.append(pd.Series(values), ignore_index=True) 
+2

'df.append(值,ignore_index = TRUE)'就足夠了。 – Goyo

0

創建完初始DataFrame後:

df = pd.DataFrame(columns = ['a','b','c']) 
df 
Empty DataFrame 
Columns: [a, b, c] 
Index: [] 

然後,您可以添加與匹配列的字典。我會做這個通過傳遞一個字典數據幀的構造和使用pd.concat()雖然有可能是一個更有效的/更快的方式:

from_dict = pd.DataFrame({k: [v] for (k, v) in dic.items()}) 
df = pd.concat([df, from_dict]) #default axis = 0 
df 
    a b c 
0 1.0 2.0 3.0