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