Панды: Как я могу добавить строку к существующему фрейму данных, который проиндексирован по дате? - PullRequest
0 голосов
/ 16 мая 2018

В пандах я хотел бы добавить новую строку к существующему фрейму данных, используя (мой выбор) метод на https://stackoverflow.com/a/16824696/1021819

Запуск df.info() на существующем фрейме данных дает:

<class 'pandas.core.frame.DataFrame'>
Index: 18 entries, 2011-10-03 00:00:00 to 2011-10-28 00:00:00
Data columns (total 1 column):
entry                   18 non-null int64
dtypes: int64(1)

Как добавить строку, если - как здесь - записи Index не являются целыми числами, а являются объектами даты и времени, с индексом, созданным с использованием

df.set_index('date')

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Данные из Jez, вы упомянули append мы можем сделать это с append

df1=pd.DataFrame({'A':[0]},index=[pd.to_datetime('2018-05-16')])

df.append(df1)
Out[584]: 
                    A
2015-01-01  -0.828623
2015-01-02   0.060381
2015-01-03   1.202777
2015-01-04   0.676415
2015-01-05  -1.669687
2015-01-06   0.945452
2015-01-07  -0.045390
2015-01-08   1.926335
2015-01-09  10.000000
2018-05-16   0.000000
0 голосов
/ 16 мая 2018

Вы можете изменить имя Series:

s.name = 10

на:

s.name = pd.Timestamp('2015-01-01')

Или добавить более динамичный добавить на следующий день:

s.name = df.index.max() + pd.Timedelta(1, unit='d')

Такжевозможно использование настройка с увеличением :

df.loc[df.index.max() + pd.Timedelta(1, unit='d')] = s

Образец :

np.random.seed(145)

dates = pd.date_range('2015-01-01', periods=8)
df = pd.DataFrame(np.random.randn(8, 1), columns=['A'], index=dates)
print (df)
                   A
2015-01-01 -0.828623
2015-01-02  0.060381
2015-01-03  1.202777
2015-01-04  0.676415
2015-01-05 -1.669687
2015-01-06  0.945452
2015-01-07 -0.045390
2015-01-08  1.926335

s = pd.Series([10], index=['A'])
s.name = df.index.max() + pd.Timedelta(1, unit='d')
print (s)
A    10
Name: 2015-01-09 00:00:00, dtype: int64

df.loc[df.index.max() + pd.Timedelta(1, unit='d')] = s
print (df)
                    A
2015-01-01  -0.828623
2015-01-02   0.060381
2015-01-03   1.202777
2015-01-04   0.676415
2015-01-05  -1.669687
2015-01-06   0.945452
2015-01-07  -0.045390
2015-01-08   1.926335
2015-01-09  10.000000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...