我正在尝试在以下数据框中插入一行:
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'
我为什么得到它?我该如何解决?
答案 0 :(得分:2)
如有必要,将DataFrame.append
与Series
一起使用。
如果需要循环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)