如何按列的字母顺序插入 pandas 数据框?

How to insert into pandas dataframe by alphabetical order of a column?

现在我有了这个:

#old df:

bar foo
1   a
3   b
5   z

我想插入一行[6,"d"],所以df变成:

#new df:

bar foo
1   a
3   b
6   d
5   z

您可以使用 append

df.append(pd.DataFrame([[6,"d"]],columns=df.columns)).sort_values('foo').reset_index(drop=True)
Out[46]: 
   bar foo
0    1   a
1    3   b
2    6   d
3    5   z

另外np.searchsorted是在原始df中查找插入值的索引顺序

pd.concat([df,pd.DataFrame([[6,"d"]],columns=df.columns,index=np.searchsorted(df.foo,['d'])-1)]).sort_index()
Out[69]: 
   bar foo
0    1   a
1    3   b
1    6   d
2    5   z