一、若列数少,容易表示
示例代码:
import pandas as pd
# 重新排列列,使新列(Name)在第二列位置
# 现有的列顺序是 ['ID', 'Value', 'Name_from_file2']
# 我们需要将列顺序调整为 ['ID', 'Name', 'Value']
new_order = ['ID', 'Name', 'Value']
merged = merged[new_order]
# 保存更新后的DataFrame到文件1
merged.to_csv('path/to/your/file1.csv', index=False)
解释:
new_order = ['ID', 'Name', 'Value']
:定义新列的顺序,将Name列放在第二列的位置。merged = merged[new_order]
:重新排列列的顺序。merged.to_csv('path/to/your/file1.csv', index=False)
:将更新后的DataFrame保存回文件1。
二、列数多,不易表示
如果你有很多列并且不方便手动列举,可以使用以下方法动态地将新列插入到指定的位置。这里的示例展示了如何将新列插入到第二列的位置,而不需要列举所有列名:
示例代码:
import pandas as pd
# 将新列(Name)插入到第二列位置
# 现有列顺序为 ['ID', 'Value', ..., 'Name']
# 我们需要将列顺序调整为 ['ID', 'Name', 'Value', ...]
cols = list(merged.columns) # 获取所有列名
cols.remove('Name') # 移除'Name'列
cols.insert(1, 'Name') # 将'Name'列插入到第二列的位置
# 重新排列列的顺序
merged = merged[cols]
# 保存更新后的DataFrame到文件1
merged.to_csv('path/to/your/file1.csv', index=False)
解释:
cols = list(merged.columns)
:获取DataFrame中所有列的名称。cols.remove('Name')
:将’Name’列从列名列表中移除。cols.insert(1, 'Name')
:将’Name’列插入到第二列的位置。merged = merged[cols]
:根据新的列顺序重新排列DataFrame。merged.to_csv('path/to/your/file1.csv', index=False)
:将更新后的DataFrame保存回文件1。
这样做可以动态处理列的顺序,而无需手动列举所有列名。如果有多个新列需要插入到不同的位置,可以类似地调整cols
列表。