53

如果我有这样的空数据框:

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

有没有办法在这个新创建的数据框中追加一个新行?目前我必须创建一个字典,填充它,然后将字典附加到最后的数据框。有没有更直接的方法?

4

3 回答 3

99

试试这个:

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

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

于 2014-08-19T06:33:20.680 回答
45

即将推出的 pandas 0.13 版本将允许通过loc不存在的索引数据添加行。但是,请注意,在后台,这会创建整个 DataFrame 的副本,因此它不是一个有效的操作。

描述在这里,这个新功能被称为设置放大

于 2013-10-14T20:04:58.180 回答
5

与经典的 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
于 2013-10-14T22:11:13.033 回答