Dataframe.insert(loc, column, value, allow_duplicates=False): 在Dataframe的指定列中插入数据。
参数介绍:
loc: int型,表示第几列;若在第一列插入数据,则 loc=0
column: 给插入的列取名,如 column='新的一列'
value:数字,array,series等都可(可自己尝试)
allow_duplicates: 是否允许列名重复,选择Ture表示允许新的列名与已存在的列名重复。
举例:
#创建数据
In [165]:data=pd.DataFrame(np.arange(16).reshape(4,4), columns=list('abcd'))
In [166]:data
Out[166]:
a b c d
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
3 12 13 14 15
#在第一列插入一列,取名'haha'
In [167]: data.insert(loc=0,column='haha',value=6)
In [168]: data
Out[168]:
haha a b c d
0 6 0 1 2 3
1 6 4 5 6 7
2 6 8 9 10 11
3 6 12 13 14 15
#在第一列插入一列,取名'haha'(重复选择允许)
In [169]: data.insert(loc=0,column='haha',value=6,allow_duplicates=True)
In [170]: data
Out[170]:
haha haha a b c d
0 6 6 0 1 2 3
1 6 6 4 5 6 7
2 6 6 8 9 10 11
3 6 6 12 13 14 15
扩展:如何在列表中插入值呢?
以下实例展示了列表的 insert()函数的使用方法:
aList = [123, 'xyz', 'zara', 'abc']
aList.insert( 3, 2009)
print "Final List : ", aList
以上实例输出结果如下:
Final List : [123, 'xyz', 'zara', 2009, 'abc']
如果要插入多个值,可以这样二个方式:
# Solution1:
a = [1, 2, 3, 9, 10]
b = [4, 5, 6, 7, 8]
c = a[:3] + b + a[3:]
print(c)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Solution2: use list.insert(index, element)
a = [1, 2, 3, 9, 10]
b = [4, 5, 6, 7, 8]
index = 3
for i in b[::-1]:
a.insert(index, i)
print(a)
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2368

被折叠的 条评论
为什么被折叠?



