【Pandas学习】DataFrame改变一列的位置

  • 方法一

        将需要改变位置的一列取出来,再在df中删除该列,最后将取出来的插入到新的df中

# 方法一
start = datetime.datetime.now()  # 开始时间
list_data = [[1, 2, 3, 4, 5],
            [2, 3, 4, 5, 6],
            [3, 4, 5, 6, 7],
            [4, 5, 6, 7, 8],
            [5, 6, 7, 8, 9]]

df_data = pd.DataFrame(list_data, columns=['one', 'two', 'three', 'four', 'five'])
display(df_data)
# 先删除一个再插入一个
cols = df_data['four']
c = df_data.columns.to_list()
pos = c.index('one') + 1
new_df = df_data.drop(labels=['four'], axis=1)
new_df.insert(pos, 'four', cols)
display(new_df)
end = datetime.datetime.now()  # 结束时间
print(end - start)

【Pandas学习】DataFrame改变一列的位置_第1张图片

 

  • 方法二

        更改df的索引,并按照索引顺序重新取df的数据

# 方法二
start = datetime.datetime.now()
list_data = [[1, 2, 3, 4, 5],
            [2, 3, 4, 5, 6],
            [3, 4, 5, 6, 7],
            [4, 5, 6, 7, 8],
            [5, 6, 7, 8, 9]]

df_data = pd.DataFrame(list_data, columns=['one', 'two', 'three', 'four', 'five'])
display(df_data)
# 先删除一个再插入一个
cols = df_data['four']
c = df_data.columns.to_list()
c.insert(c.index('one') + 1, c.pop(c.index('four')))
new_df = df_data.loc[:, c]
display(new_df)
end = datetime.datetime.now()
print(end - start)

【Pandas学习】DataFrame改变一列的位置_第2张图片

 

 

你可能感兴趣的:(Python,pandas,学习,python)