如果我有这样的空数据框:
columns = ['Date', 'Name', 'Action','ID']
df = pd.DataFrame(columns=columns)
有没有办法在这个新创建的数据框中追加一个新行?目前我必须创建一个字典,填充它,然后将字典附加到最后的数据框。有没有更直接的方法?
试试这个:
df.loc[len(df)]=['8/19/2014','Jun','Fly','98765']
警告:此方法仅在索引中没有“漏洞”时才有效。例如,假设您有一个包含三行的数据框,索引为 0、1 和 3(例如,因为您删除了第 2 行)。然后,len(df) = 3,因此上述命令不会添加新行 - 它会覆盖第 3 行。
即将推出的 pandas 0.13 版本将允许通过loc
不存在的索引数据添加行。但是,请注意,在后台,这会创建整个 DataFrame 的副本,因此它不是一个有效的操作。
描述在这里,这个新功能被称为设置放大。
与经典的 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