2017-06-13 30 views
1

これまでのところ、データフレームに行を追加する必要があるときは、loc(またはまれにiloc)を使用しました。このようなデータフレームで:繰り返しインデックスを持つパンダに行を追加

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

をしかし、私は(2014-02-03 15:00:00で別の行を想像して)同じインデックスを持つ行を追加する必要があるならば、locは私にエラーを与える:

      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 

私が使用していました。 concatmergeのようなメソッドを試していますが、何も得られません。ありがとう。私にとって

答えて

1

は別のDataFrameconcatに動作します:再び

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

関連する問題