gpt4 book ai didi

python - 保留列顺序 - Python Pandas 和列连接

转载 作者:太空狗 更新时间:2023-10-29 18:29:34 25 4
gpt4 key购买 nike

因此,我的 google-fu 似乎并没有公正地处理看似微不足道的程序。

在 Pandas for Python 中,我有 2 个数据集,我想合并它们。使用 .concat 效果很好。问题是,.concat 重新排序我的专栏。从数据检索的角度来看,这是微不足道的。从“我只想打开文件并快速查看最重要的列”的角度来看,这很烦人。

File1.csv
Name Username Alias1
Tom Tomfoolery TJZ
Meryl MsMeryl Mer
Timmy Midsize Yoda

File2.csv
Name Username Alias 1 Alias 2
Bob Firedbob Fire Gingy
Tom Tomfoolery TJZ Awww

Result.csv
Alias1 Alias2 Name Username
0 TJZ NaN Tom Tomfoolery
1 Mer NaN Meryl MsMeryl
2 Yoda NaN Timmy Midsize
0 Fire Gingy Bob Firedbob
1 TJZ Awww Tom Tomfoolery

结果很好,但在我使用的数据文件中有 1,000 列。最重要的 2-3 现在在中间。有没有办法,在这个玩具示例中,我可以强制将“用户名”设为第一列,将“名称”设为第二列,显然保留每列下方的值。

另请注意,当我保存到文件时,它还会在旁边保存该编号 (0 1 2 0 1)。如果也有办法防止这种情况发生,那就太好了。如果不是,也没什么大不了的,因为它是一个快速修复程序,可以删除。

谢谢!

最佳答案

假设串联的 DataFrame 是 df,您可以按如下方式执行列的重新排序:

important = ['Username', 'Name']
reordered = important + [c for c in df.columns if c not in important]
df = df[reordered]
print df

输出:

     Username   Name Alias1 Alias2
0 Tomfoolery Tom TJZ NaN
1 MsMeryl Meryl Mer NaN
2 Midsize Timmy Yoda NaN
0 Firedbob Bob Fire Gingy
1 Tomfoolery Tom TJZ Awww

数字列表 [0, 1, 2, 0, 1] 是 DataFrame 的索引。为防止将它们写入输出文件,您可以在 to_csv() 中使用 index=False 选项:

df.to_csv('Result.csv', index=False, sep=' ')

关于python - 保留列顺序 - Python Pandas 和列连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32533944/

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