在Python数据框中插入行

在Python数据框中插入行,python,pandas,insert,row,dataframe,Python,Pandas,Insert,Row,Dataframe,(我是python新手,对我犯的错误表示抱歉,希望您能理解我) 我在Python中搜索了一种将行插入Pandas数据帧的方法,我发现: 我使用了fred在该主题的公认答案中提供的代码,但该代码覆盖了我的行: 我的代码(在特定条件下为每列插入一行值“-1”): 如何让代码插入一行而不重写它? 例如,如果我有一个50行的数据框,在位置25插入一行(就像一个例子),并使数据框有51行(25行是额外的新行) 我希望你能理解我的问题。(对不起,有英语错误) 多谢各位 更新: 有人建议: 试过了,没用。

(我是python新手,对我犯的错误表示抱歉,希望您能理解我)

我在Python中搜索了一种将行插入Pandas数据帧的方法,我发现:

我使用了fred在该主题的公认答案中提供的代码,但该代码覆盖了我的行: 我的代码(在特定条件下为每列插入一行值“-1”):

如何让代码插入一行而不重写它? 例如,如果我有一个50行的数据框,在位置25插入一行(就像一个例子),并使数据框有51行(25行是额外的新行)

我希望你能理解我的问题。(对不起,有英语错误)

多谢各位

更新:

有人建议:

试过了,没用。实际上,它什么也不做,不添加任何行

 line = pd.DataFrame({[-1 for n in range(len(df.columns))]}, index=[i+1])
 df = pd.concat([ df.ix[:i],  line,  df.ix[i+1:]]).reset_index(drop=True)

还有其他想法吗?

如果您想在位置
1
插入一行,请使用一个小的
数据框:

df = pd.DataFrame({'a':[0,1],'b':[2,3]})

df1 = pd.DataFrame([4,5]).T  

pd.concat([df[:1], df1.rename(columns=dict(zip(df1.columns,df.columns))), df[1:]])

#Out[46]: 
#   a  b
#0  0  2
#0  4  5
#1  1  3
您可以添加可能的副本吗?
df = pd.DataFrame({'a':[0,1],'b':[2,3]})

df1 = pd.DataFrame([4,5]).T  

pd.concat([df[:1], df1.rename(columns=dict(zip(df1.columns,df.columns))), df[1:]])

#Out[46]: 
#   a  b
#0  0  2
#0  4  5
#1  1  3