你可以使用
iloc
和
concat
:
N = 2
List = [99, 88]
out = pd.concat([dat.iloc[:N],
pd.DataFrame([List], columns=dat.columns),
dat.iloc[N:]], ignore_index=True)
或者,如果您有一个(排序的)范围索引,您可以在所需位置(例如1.5)之前插入一个索引,然后
sort_index
:
N = 2
dat.loc[N-0.5] = List
dat.sort_index(inplace=True, ignore_index=True)
输出
A B
0 1 7
1 2 6
2 99 88
3 3 7
4 5 8
如果要替换现有数据,只需指定:
dat.loc[2] = List
输出
A B
0 1 7
1 2 6
2 99 88
3 5 8
要在中执行此操作
pipe
您可能应该使用自定义函数:
def assign_chain(df, pos, obj):
df = df.copy()
df.loc[pos] = obj
return df
out = (pd.DataFrame({'A' : [1,2,3,5], 'B' : [7,6,7,8]})
.pipe(assign_chain, 2, List)
)