您可以使用
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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)