前言
有时候想更换dataframe数据中某两行(多行)的位置,这个时候可以通过如下方法实现
例1
import pandas as pd
df = pd.DataFrame([[1,2],[3,4]],columns=['a','b'],index=['c','d'])
df
a b
c 1 2
d 3 4
df=df.reindex(['d','c'])
df
a b
d 3 4
c 1 2
这样就完成了更换
例2
import pandas as pd
df = pd.DataFrame([[7.6,2.5],[3.7,4.9],[5.0,6.1]],columns=['a','b'])
df
a b
0 7.6 2.5
1 3.7 4.9
2 5.0 6.1
new_index=[1,0,2]
df_new=df.reindex(new_index)
df_new
a b
1 3.7 4.9
0 7.6 2.5
2 5.0 6.1
这样就完成了更换,主要是给index()方法喂入一个list来实现,如果list中有新的元素,则填充为空值,如下:
df_new=df.reindex([2,0,1,5,6])
df_new
a b
2 5.0 6.1
0 7.6 2.5
1 3.7 4.9
5 NaN NaN
6 NaN NaN
这些都是新生成了一个dataframe,原来的dataframe不变:
df
a b
0 7.6 2.5
1 3.7 4.9
2 5.0 6.1
总结
如果您发现我写的有错误,欢迎在评论区批评指正。