使用重复索引在pandas中添加行

时间:2017-06-13 12:30:40

标签: python pandas

到目前为止,当我需要向数据框添加行时,我使用col2(或者更少,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会给我错误。我一直在尝试像locconcat这样的方法,但我什么都没得到。感谢。

1 个答案:

答案 0 :(得分: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