当我们想向DataFrame添加一个新列时,默认情况下会在末尾添加它。但是,pandas提供了使用insert函数使得我们可以在任意位置添加新列。
我们需要通过传递索引作为第一个参数来指定位置。此值必须是整数。列索引从零开始,就像行索引一样,第二个参数是列名,第三个参数是对象,这些对象可以是Series或数组。
import pandas as pd
import numpy as np
values_1 = np.random.randint(10, size=10)
values_2 = np.random.randint(10, size=10)
years = np.arange(2010, 2020)
groups = ['A','A','B','A','B','B','C','A','C','C']
df = pd.DataFrame({'group':groups, 'year':years, 'value_1':values_1, 'value_2':values_2})
#################################
#新建列
new_col = np.random.randn(10)
#在位置2插入新列
df.insert(2, 'new_col', new_col)
print(df)