gpt4 book ai didi

python - 使用列号重新排列列 - Pythonic 方式

转载 作者:行者123 更新时间:2023-11-28 21:40:24 24 4
gpt4 key购买 nike

以前在许多threads 中都询问过重新排列 pandas 中的列.

我可以打印我的专栏并复制粘贴我需要在pandas中重新排序的任何内容。但是,我想知道如果我有超过 20 列,我可以使用列号重新排列吗?我知道在 R 中可以这样做,

new_df <- my_df[,c(1:9, 11:21, 10)]

我在下面的 pandas 中尝试了同样的操作,但是得到了一个 SyntaxError

new_df = my_df[[:, 1:9, 11:21, 10]]

我一直在搜索,但找不到可以引用的文档来获得答案。 pandas 中是否有类似的东西,我可以像在 R 中那样在一行中完成?

最佳答案

我们可以使用np.r_[] :

new_df = my_df.iloc[:, np.r_[1:9, 11:21, 10]]

演示:

In [7]: df = pd.DataFrame(np.random.randint(5, size=(2, 21)))

In [8]: df
Out[8]:
0 1 2 3 4 5 6 7 8 9 ... 11 12 13 14 15 16 17 18 19 20
0 2 1 2 2 1 0 4 4 4 2 ... 0 4 4 4 3 2 1 2 1 4
1 1 4 4 4 1 3 4 4 3 3 ... 1 2 3 4 2 0 1 0 2 1

[2 rows x 21 columns]

In [9]: df.iloc[:, np.r_[1:9, 11:21, 10]]
Out[9]:
1 2 3 4 5 6 7 8 11 12 13 14 15 16 17 18 19 20 10
0 1 2 2 1 0 4 4 4 0 4 4 4 3 2 1 2 1 4 0
1 4 4 4 1 3 4 4 3 1 2 3 4 2 0 1 0 2 1 0

关于python - 使用列号重新排列列 - Pythonic 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45620518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com