将新行添加到具有特定索引名称的Pandas DataFrame

将新行添加到具有特定索引名称的Pandas DataFrame,第1张

将新行添加到具有特定索引名称的Pandas DataFrame

您可以使用

df.loc[_not_yet_existing_index_label_] = new_row

演示

In [3]: df.loc['e'] = [1.0, 'hotel', 'true']In [4]: dfOut[4]:   number    variable valuesa     NaN        bank   Trueb     3.0        shop  Falsec     0.5      market   Trued     NaN  government   Truee     1.0       hotel   true

使用这种方法的PS,您不能添加具有现有(重复)索引值(标签)的行-在这种情况下,具有此索引标签的行将被 更新


更新:

如果索引是DateTimeIndex并且新行的索引不存在,则在最近的Pandas / Python3中这可能不起作用

如果我们指定正确的索引值,它将起作用。

演示(使用

pandas: 0.23.4
):

In [17]: ix = pd.date_range('2018-11-10 00:00:00', periods=4, freq='30min')In [18]: df = pd.Dataframe(np.random.randint(100, size=(4,3)), columns=list('abc'), index=ix)In [19]: dfOut[19]:a   b   c2018-11-10 00:00:00  77  64  902018-11-10 00:30:00   9  39  262018-11-10 01:00:00  63  93  722018-11-10 01:30:00  59  75  37In [20]: df.loc[pd.to_datetime('2018-11-10 02:00:00')] = [100,100,100]In [21]: dfOut[21]: a    b    c2018-11-10 00:00:00   77   64   902018-11-10 00:30:00    9   39   262018-11-10 01:00:00   63   93   722018-11-10 01:30:00   59   75   372018-11-10 02:00:00  100  100  100In [22]: df.indexOut[22]: DatetimeIndex(['2018-11-10 00:00:00', '2018-11-10 00:30:00', '2018-11-10 01:00:00', '2018-11-10 01:30:00', '2018-11-10 02:00:00'], dtype='datetime64[ns]', freq=None)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存