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)