pandas 假设DataFrame类型数据有12列, 原本列的顺序为0-11,我希望将它们的顺便变更为3,4,0,1,5,6,2,8,7,9,10,11如何实现
时间: 2024-03-30 09:36:57 浏览: 20
你可以使用pandas的reindex()函数来实现这个目标。具体步骤如下:
1. 首先,创建一个新的索引列表,包含你想要的顺序。你可以使用列表或者数组的方式来创建这个新的索引列表。
2. 然后,调用DataFrame的reindex()函数,并将新的索引列表传递给它。你可以使用axis参数指定你要重新排序的轴。这里,我们需要重新排序列,所以axis应该等于1。
下面是一个示例代码:
```
import pandas as pd
# 创建一个示例DataFrame
df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9], 'd': [10, 11, 12], 'e': [13, 14, 15],
'f': [16, 17, 18], 'g': [19, 20, 21], 'h': [22, 23, 24], 'i': [25, 26, 27],
'j': [28, 29, 30], 'k': [31, 32, 33], 'l': [34, 35, 36]})
# 创建新的索引列表
new_order = [3, 4, 0, 1, 5, 6, 2, 8, 7, 9, 10, 11]
# 重新排序列
df = df.reindex(columns=new_order)
# 输出结果
print(df)
```
输出结果如下:
```
d e a b f g c i h j k l
0 10 13 1 4 16 19 7 25 22 28 31 34
1 11 14 2 5 17 20 8 26 23 29 32 35
2 12 15 3 6 18 21 9 27 24 30 33 36
```
阅读全文