Python 动态地向DataFrame添加行

Python 动态地向DataFrame添加行,python,pandas,dataframe,Python,Pandas,Dataframe,假设我有一个空数据框,已经设置了列,但没有行。我正在从web上抓取一些数据,所以假设我需要在空数据框中添加一个索引'2176'。当我尝试分配该行时,如何将其自动添加到数据库中?这就是我的目的还是我应该用别的东西 import pandas as pd df = pd.DataFrame(columns=['foo1','foo2']) df.loc[2176,'foo1'] = 'my_value' df是: foo1 foo2 2176 my_valu

假设我有一个空数据框,已经设置了列,但没有行。我正在从web上抓取一些数据,所以假设我需要在空数据框中添加一个索引
'2176'
。当我尝试分配该行时,如何将其自动添加到数据库中?这就是我的目的还是我应该用别的东西

import pandas as pd

df = pd.DataFrame(columns=['foo1','foo2'])

df.loc[2176,'foo1'] = 'my_value'
df是:

        foo1        foo2
2176    my_value    NaN

作为<代码>的替代。LOC < /代码>,您可能需要考虑。使用@NickBraunagel的示例:

df = pd.DataFrame(columns=['foo1','foo2'])
然后

屈服

     foo1 foo2
2716   10  NaN
时间安排完全不同:

# @NickBraunagel's solution
%timeit df.loc['2716', 'foo1'] = 10
1000 loops, best of 3: 212 µs per loop

# the at solution
%timeit df.at['2716', 'foo1'] = 10
100000 loops, best of 3: 12.5 µs per loop
如果要同时添加多个列条目,可以执行以下操作:

d = {'foo1': 20, 'foo2': 10}
df.at['1234', :] = d
屈服

     foo1 foo2
2716   10  NaN
1234   20   10

但是,请确保始终添加相同的数据类型,以避免错误或其他不希望出现的影响。

好的调用,假设您一次只更新一个值/单元格(此示例适用)。作为参考:@NickBraunagel:我想这个假设是有效的,因为OP所说的是单行。谢谢你的参考!更多详情:
     foo1 foo2
2716   10  NaN
1234   20   10