gpt4 book ai didi

python - 在一个巨大的 Panda DataFrame 中将几列放在前面

转载 作者:太空狗 更新时间:2023-10-30 00:58:16 25 4
gpt4 key购买 nike

我有一个包含 1000 列的 Pandas 系列。将这些列中的三列(任意三列)放在最前面的最简单方法是让第 10、30 和 1000 列让其余列为它们让路。

我知道我能做到:

Df = Df.iloc[:,[10, 30, 1000]]

但是,这只给了我三列

Columns 

10 30 50

但是我想要这样的输出:

10    30   1000   1      2       3      4     5     6     7      8     999

也就是说,我想将三列放在前面,并将其余列移回以为它们腾出空间。最简单的方法是什么?因为我需要在我的数据库中经常这样做。

问候

最佳答案

这是使用 sorted 的一种方法使用:

first = [10, 30, 1000]
df[sorted(df.columns, key=lambda x: x not in first)]

例子:

df = pd.DataFrame(columns = list(range(10)))
first = [2,3,9]
print(df[sorted(df.columns, key=lambda x: x not in first)].columns)
# Int64Index([2, 3, 9, 0, 1, 4, 5, 6, 7, 8], dtype='int64')

关于python - 在一个巨大的 Panda DataFrame 中将几列放在前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56425405/

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