您的位置:首页 > 其它

Pandas 中Dataframe的 Insert函数详解

2020-06-03 05:24 101 查看

Dataframe.insert(loc, column, value, allow_duplicates=False): 在Dataframe的指定列中插入数据。

参数介绍:

       loc:  int型,表示第几列;若在第一列插入数据,则 loc=0

       column: 给插入的列取名,如 column='新的一列'

       value:数字,array,series等都可(可自己尝试)

       allow_duplicates: 是否允许列名重复,选择Ture表示允许新的列名与已存在的列名重复。
 举例:

[code]#创建数据
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:

=
 
[
1
2
3
9
10
]

=
 
[
4
5
6
7
8
]

=
 
a[:
3
+
 
+
 
a[
3
:]

print
(c)

# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

 

# Solution2: use list.insert(index, element)

=
 
[
1
2
3
9
10
]

=
 
[
4
5
6
7
8
]

index 
=
 
3

for
 
in
 
b[::
-
1
]:

    
a.insert(index, i)

print
(a)

# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: