有什么好办法,让 pandas 的列位置互换呢,比如说,第 3 列换到第一列去

2020-11-04 09:42:22 +08:00
 galileo1214
我百度搜了下,没啥好办法啊
2309 次点击
所在节点    程序员
8 条回复
zyuu2
2020-11-04 09:51:38 +08:00
可以自己指定列的顺序
```
import pandas as pd
df = pd.DataFrame({'a': [1,2], 'b': [3,4], 'c': [5,6]})
df
Out[4]:
a b c
0 1 3 5
1 2 4 6
df = df[['b', 'c', 'a']]
df
Out[6]:
b c a
0 3 5 1
1 4 6 2
```
tikazyq
2020-11-04 09:54:53 +08:00
这个应该是基础操作了,简单来说,就是把 columns 中的元素调换一下,然后选择就可以了。感觉对 pandas 还是不熟悉哦,要多读一下文档,上面非常详细
galileo1214
2020-11-04 09:55:33 +08:00
@zyuu2 #1 这个列少还好点,列多就不好操作
目前是存一个,drop 下,insert 下,就问问看有什么自带函数么
shikimoon
2020-11-04 10:12:43 +08:00
df.reindex(columns=['c', 'b', 'a')
Battle
2020-11-04 10:24:00 +08:00
你是要跟 sql 一样的操作进行换列?
bugcoder
2020-11-04 14:54:48 +08:00
假设很多列,想把‘mean’ 列换到前面

````python
df = df[ ['mean'] + [ col for col in df.columns if col != 'mean' ] ]
````

https://stackoverflow.com/questions/13148429/how-to-change-the-order-of-dataframe-columns
galileo1214
2020-11-04 17:02:10 +08:00
@bugcoder #6 这个还行,多谢
Kobayashi
2020-11-05 23:50:02 +08:00
矩阵论?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/721609

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX