Python 如何向数据帧添加新记录

Python 如何向数据帧添加新记录,python,pandas,Python,Pandas,我想向熊猫数据帧添加具有新索引的新记录 例如: df = pandas.DataFrame(columns = ['COL1', 'COL2']) 现在我有了一个新记录,索引标签为“Test1”,值为[20,30] 我想做一些类似(伪代码)的事情: 所以我的结果是 COL1 COL2 Test1 20 30 我所达到的最远距离是: df = df.append({'COL1':20, 'COL2':30}, ignore_index=True) 但是这个解决方

我想向熊猫数据帧添加具有新索引的新记录 例如:

df = pandas.DataFrame(columns = ['COL1', 'COL2'])
现在我有了一个新记录,索引标签为“Test1”,值为[20,30] 我想做一些类似(伪代码)的事情:

所以我的结果是

       COL1   COL2
Test1   20     30
我所达到的最远距离是:

df = df.append({'COL1':20, 'COL2':30}, ignore_index=True)
但是这个解决方案不包括新的索引

谢谢

您可以使用.ix:

In [1]: df = pd.DataFrame(columns = ['COL1', 'COL2'])
In [2]: df.ix['test1'] = [20, 30]
In [3]: df
Out[3]:
       COL1  COL2
test1    20    30

[1 rows x 2 columns]

请注意,根据,序列的大小是不可变的(即,向序列添加条目将复制原始序列并创建新对象)。这意味着将行附加到数据帧将继续生成整个数据帧的不必要副本。强烈建议使用您的行建立一个列表,然后在您拥有所有需要的行时制作一个数据框,引用文档:

警告从0.20.0开始,.ix索引器已被弃用,取而代之的是 更严格的.iloc和.loc索引器

因此,您应该使用loc

>>> import pandas as pd
>>> df = pd.DataFrame(columns = ['COL1', 'COL2'])
>>> df.loc['test1'] = [20, 30]
>>> df 
      COL1 COL2
test1   20   30
>>> df.shape 
(1, 2)

您可以尝试
pd.concat([df,df1])
谢谢,但是我得到了使用Python2的KeyError:'test1'。7@user2476373如果pandas版本>=0.13.1,它应该可以工作。您可以执行
pip freeze | grep-i pandas
检查您的pandas版本,并执行
pip install-U pandas
更新。
>>> import pandas as pd
>>> df = pd.DataFrame(columns = ['COL1', 'COL2'])
>>> df.loc['test1'] = [20, 30]
>>> df 
      COL1 COL2
test1   20   30
>>> df.shape 
(1, 2)