如何按列的字母顺序插入 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
现在我有了这个:
#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