2017-07-26 74 views
2

我通過for循環創建多個數據幀並將它們連接,這很好。但我需要包含循環變量作爲索引。我不能找到一種方法來設置循環變量指標將索引作爲循環變量的多個數據幀連續轉換

maindf=pd.DataFrame() 
for i in ['20170724','20170725','20170726']: 
    a=pd.read_csv("somecsv."+str(i)) 
    maindf = pd.concat(maindf,a,axis=0) 

爲maindf預計OP:

  A B C 
20170724 1 2 3 
     4 5 6 
     7 8 9 
20170725 11 22 33 
     44 55 66 
     77 88 99 
20170725 111 222 333 
     444 555 666 
     777 888 999 

回答

1

我認爲你需要的所有DataFrame小號追加到list然後用concat與參數keys,也爲除去第二級添加reset_index與參數drop

dfs = [] 
vals = ['20170724','20170725','20170726'] 
for i in vals: 
    a=pd.read_csv("somecsv."+str(i)) 
    dfs.append(a) 
maindf = pd.concat(dfs,keys=vals).reset_index(level=1, drop=True) 
+1

謝謝@jezrael – pythonRcpp

1

ÿ你可以在字典上使用pd.concat

lst = ['20170724','20170725','20170726'] 
pd.concat({k: pd.read_csv('somecsv.{}'.format(i)) for k in lst}) 
相關問題