Python 熊猫:如何将一行附加到按日期索引的现有数据帧?

Python 熊猫:如何将一行附加到按日期索引的现有数据帧?,python,pandas,Python,Pandas,在pandas中,我想使用(我的选择)下面的方法将一个新行附加到现有的数据帧中 在现有数据帧上运行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: int6

在pandas中,我想使用(我的选择)下面的方法将一个新行附加到现有的数据帧中

在现有数据帧上运行
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)

您可以更改
系列的名称:

s.name = 10
致:

第二天添加一个或多个动态:

s.name = df.index.max() + pd.Timedelta(1, unit='d')
也可用于:

样本

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

来自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

这正是我想要的-谢谢!但是,在你的答案和@耶斯雷尔的答案之间做出选择,我感到很难过——我该怎么办呢-S@jtlz2我同意,你可以接受杰兹的回答,也许你可以投我的一票?:-)嗯,其实我用的是你的:\n也许它们可以结合起来?不管怎样,我现在要把这两张票都投上去。非常感谢!
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
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