2017-06-13 53 views
1

到目前爲止,當我需要向數據框添加行時,我使用了loc(或更少的iloc)。在這樣一個數據幀:在帶有重複索引的熊貓中添加行

      key1   key2  value 
    2014-02-03 12:00:00  22    32   98.89 
    2014-02-03 12:00:00  23    33   99.25 
    2014-02-03 12:00:00  24    34   99.78 
    2014-02-03 15:00:00  22    32   96.54 
    2014-02-03 15:00:00  23    33   97.21 
    2014-02-03 15:00:00  24    34   98.59 

我用:

df.loc[pd.to_datetime('2014-02-03 18:00:00')] = [23, 32, 98.84] 

但是,如果我需要用相同的索引添加行(想象一下其他行與2014-02-03 15:00:00)然後loc給我的錯誤。我一直在嘗試像concatmerge這樣的方法,但我什麼也沒得到。謝謝。

回答

1

對我的作品concat另一個DataFrame

df.loc[pd.to_datetime('2014-02-03 18:00:00')] = [23, 32, 98.84] 
df1 = pd.DataFrame([[23, 32, 100]], 
        columns=df.columns, 
        index=[pd.to_datetime('2014-02-03 15:00:00')]) 
print (df1) 
        key1 key2 value 
2014-02-03 15:00:00 23 32 100 

df = pd.concat([df, df1]) 
print (df) 
        key1 key2 value 
2014-02-03 12:00:00 22 32.0 98.89 
2014-02-03 12:00:00 23 33.0 99.25 
2014-02-03 12:00:00 24 34.0 99.78 
2014-02-03 15:00:00 22 32.0 96.54 
2014-02-03 15:00:00 23 33.0 97.21 
2014-02-03 15:00:00 24 34.0 98.59 
2014-02-03 18:00:00 23 32.0 98.84 
2014-02-03 15:00:00 23 32.0 100.00 
+0

您好再次:-)。是的,'concat''起作用。創建一個新的數據框時,我得到錯誤的順序列,所以這是我的問題。但是用你的''df.columns''就可以。謝謝。 – David

+0

很高興能幫到你。 ;) – jezrael