Liz*_*ice 4 python dataframe pandas
我的数据框具有以下结构:
col1 col2 col3
myindex
apple A B C
pear Ab Bb Cb
turtle A1 B1 C1
Run Code Online (Sandbox Code Playgroud)
现在我得到两个列表,一个具有重新排序的列索引,一个具有重新排序的行索引,但作为整数,例如rowindices = [3,1,2]和colindices = [1,3,2]。数据框现在应该根据这些索引重新排序,然后看起来像这样:
col1 col3 col2
myindex
turtle A1 C1 B1
apple A C B
pear Ab Cb Bb
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?
使用DataFrame.ilocand 因为 python 计数从0转换列表到数组并减去1:
rowindices = [3,1,2]
colindices = [1,3,2]
df = df.iloc[np.array(rowindices)-1, np.array(colindices)-1]
print (df)
col1 col3 col2
myindex
turtle A1 C1 B1
apple A C B
pear Ab Cb Bb
Run Code Online (Sandbox Code Playgroud)
如果可能,列表解决方案中的更改值更简单:
rowindices1 = [2,0,1]
colindices1 = [0,2,1]
df = df.iloc[rowindices1, colindices1]
print (df)
col1 col3 col2
myindex
turtle A1 C1 B1
apple A C B
pear Ab Cb Bb
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |