在 Pandas 的特定位置创建一个新列

Inc*_*ito 2 python pandas

我想在 Python 中创建一个新列并将其放置在特定位置。例如,让“example”成为以下数据帧:

import pandas as pd    

example = pd.DataFrame({
            'name': ['alice','bob','charlie'],
            'age': [25,26,27],
            'job': ['manager','clerk','policeman'],
            'gender': ['female','male','male'],
            'nationality': ['french','german','american']
        })
Run Code Online (Sandbox Code Playgroud)

我想创建一个新列来包含“年龄”列的值:

example['age_times_two']= example['age'] *2
Run Code Online (Sandbox Code Playgroud)

然而,此代码在数据帧的末尾创建了一个列。我想把它放在第三列,或者换句话说,放在“年龄”列旁边的列。如何做到这一点:

a) 通过为新列设置绝对位置(例如第三个位置)?

b) 通过为新列设置相对位置(例如“年龄”列的右侧)?

Ch3*_*teR 6

你可以df.insert在这里使用。

example.insert(2,'age_times_two',example['age']*2)
example
      name  age  age_times_two        job  gender nationality
0    alice   25             50    manager  female      french
1      bob   26             52      clerk    male      german
2  charlie   27             54  policeman    male    american
Run Code Online (Sandbox Code Playgroud)