Python-数据框插入错误“ TypeError:insert()缺少1个必需的位置参数:'value'”

时间:2019-10-23 09:59:11

标签: python pandas

我正在尝试在以下数据框中插入一行:

import pandas as pd
earnings_dates_returns = pd.DataFrame(columns=['Stock_name','Announcement_date'])
earnings_dates_returns.insert(0, {'Stock_name': 'Apple', 'Announcement_date': '2010-01-01'})                                    

但我收到此错误:

  

TypeError:insert()缺少1个必需的位置参数:'value'

我为什么得到它?我该如何解决?

1 个答案:

答案 0 :(得分:2)

如有必要,将DataFrame.appendSeries一起使用。

如果需要循环append,则可以,但是很慢:

earnings_dates_returns = pd.DataFrame(columns=['Stock_name','Announcement_date'])
s = pd.Series({'Stock_name': 'Apple', 'Announcement_date': '2010-01-01'}, name=0)
earnings_dates_returns = earnings_dates_returns.append(s)
print (earnings_dates_returns)
  Stock_name Announcement_date
0      Apple        2010-01-01

s = pd.Series({'Stock_name': 'Pear', 'Announcement_date': '2011-01-01'}, name=5)
earnings_dates_returns = earnings_dates_returns.append(s)
print (earnings_dates_returns)
  Stock_name Announcement_date
0      Apple        2010-01-01
5       Pear        2011-01-01
  

如果我在数据框中添加多行,是否可行?

我认为最好先创建字典或系列列表,然后再创建DataFrame以提高性能:

out = []
for data in iterator:
    #some processing if necessary
    out.append(data)

df = pd.DataFrame(out)