使用索引向数据框添加或添加新行

时间:2019-07-07 17:34:05

标签: python pandas

如何将使用字典创建的新系列添加到具有新索引的现有数据框。

最初,我创建了两个系列“ series1”和“ series2”,然后从这两个序列中创建了一个数据框。

现在假设我想添加一个在商店进行交易的特定个人的新行,即“商店1”,将其称为“ series3”,并设置一个特定的索引,“商店1”。

但是当我打印series3时,它会输出NaN。我可以肯定的是,我不能以这种方式使用字典,但是似乎无法找到解决方案。

我的最终目标是添加一个新行,并在数据框中已经存在类似的索引,或者创建一个新行。

如何使用字典使用Series添加新行?还是有可能?

series1 = pd.Series({'Name': 'Adam','Age':25, 'Transacted': 'Yes'})

series2 = pd.Series({'Name': 'Mark', 'Age':26, 'Transacted': 'No'})

df = pd.DataFrame([series1, series2], index = ["Store 1", "Store 2"])


series3 = pd.Series({'Name':'John', 'Age':22, 'Transacted': 'Yes'}, index = ["Store 1"])

1 个答案:

答案 0 :(得分:1)

是的,有可能,但是首先从Series构造函数中删除series3的索引并使用setting with enlargement

series1 = pd.Series({'Name': 'Joe',
                    'Age':25,
                    'Transacted': 'Yes'})

series2 = pd.Series({'Name': 'Mark',
                     'Age':26,
                     'Transacted': 'No'
})

df = pd.DataFrame([series1, series2], index = ["Store 1", "Store 2"])
print (df)

series3 = pd.Series({'Name':'John', 'Age':22, 'Transacted': 'Yes'})
print (series3)

df.loc['Store 3'] = series3
print (df)
         Name  Age Transacted
Store 1   Joe   25        Yes
Store 2  Mark   26         No
Store 3  John   22        Yes

或者:

df.loc['Store 3'] = {'Name':'John', 'Age':22, 'Transacted': 'Yes'}
print (df)
         Name  Age Transacted
Store 1   Joe   25        Yes
Store 2  Mark   26         No
Store 3  John   22        Yes