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]