[英]Preserving Column Order - Python Pandas and Column Concat
因此,我的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個現在位於中間。 有沒有辦法,在這個玩具示例中,我可以強迫“Username”成為第一列,“Name”成為第二列,顯然保留了每個下面的值。
另外作為旁注,當我保存到文件時,它也會在側面保存該編號(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]
0,1,2,0,1 [0, 1, 2, 0, 1]
是DataFrame的索引。 要防止將它們寫入輸出文件,可以使用to_csv()
的index=False
選項:
df.to_csv('Result.csv', index=False, sep=' ')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.