python中Dataframe中两列中"区域"和"小区名字"有数据调换,用什么代码把其中数据调换回来?
import pandas as pd
import numpy as np
data = [[101, 236423, '2021-01'],
[101, 223387, '2021-05'],
[102, 397845, '2021-01'],
[102, 138257, '2021-02'],
[103, 83475, '2021-01'],
[103, 393475, '2021-02']]
df = pd.DataFrame(data=data, columns=['code', 'mv', 'date'])
# 两列整体调换
df['code'], df['date'] = df['date'], df['code']
print(df)
'''--result
code mv date
0 2021-01 236423 101
1 2021-05 223387 101
2 2021-01 397845 102
3 2021-02 138257 102
4 2021-01 83475 103
5 2021-02 393475 103
'''
# code为101的选择调换
ary = np.where(df.code == 101, [df.date, df.mv, df.code], [df.code, df.mv, df.date])
df = pd.DataFrame({'code': ary[0], 'mv': ary[1], 'date': ary[2]})
print(df)
'''---result
code mv date
0 2021-01 236423 101
1 2021-05 223387 101
2 102 397845 2021-01
3 102 138257 2021-02
4 103 83475 2021-01
5 103 393475 2021-02
'''
给出示例,这样也不知道你要什么
可以取出两列数据,遍历替换,写入新数据框