python-如何向熊猫数据框添加额外的行

这个问题已经在这里有了答案:

  • 向pandas DataFrame添加一行 19个答案

如果我有一个空的数据框:

columns = ['Date', 'Name', 'Action','ID']
df = pd.DataFrame(columns=columns) 

有没有一种方法可以向此新创建的数据框追加新行? 目前,我必须创建一个字典,将其填充,然后将字典附加到最后的数据框中。 有更直接的方法吗?

Ahdee asked 2020-08-12T09:49:00Z
3个解决方案
86 votes

试试这个:

df.loc[len(df)]=['8/19/2014','Jun','Fly','98765'] 

警告:仅当索引中没有“空洞”时,此方法才有效。 例如,假设您有一个包含三行的数据框,索引分别为0、1和3(例如,因为删除了行号2)。 然后,len(df)= 3,因此上述命令不会添加新行-它会覆盖第3行。

Jun answered 2020-08-12T09:49:41Z
38 votes

即将发布的pandas 0.13版本将允许在不存在的索引数据上通过loc添加行。 但是,请注意,这实际上会创建整个DataFrame的副本,因此这不是有效的操作。

说明在此处,此新功能称为“放大设置”。

Boud answered 2020-08-12T09:49:11Z
5 votes

与经典的dict + append相比,我发现另一种丑陋的方法,但是有效:

df = df.T

df[0] = ['1/1/2013', 'Smith','test',123]

df = df.T

df
Out[6]: 
       Date   Name Action   ID
0  1/1/2013  Smith   test  123
Boud answered 2020-08-12T09:50:02Z
translate from https://stackoverflow.com:/questions/19365513/how-to-add-an-extra-row-to-a-pandas-dataframe