DataFrame 新增列的五種方法

2021-09-28 22:44:37 字數 1950 閱讀 3902

本文總結了平時對 pandas.dataframe 進行新增列操作的五種方法:insert、reindex、loc、obj[『col』]、concat,並用**演示出來。

引入需用的包,並新建dataframe例子

in[1

]:import pandas as pd

import numpy as npin[

2]: data = pd.dataframe(np.array([[

1,2,

3],[

4,5,

6],[

7,8,

9]])

, columns=

['a'

,'b'

,'c'])

in[3]

: data

out[3]

: a b c 01

2314

5627

89

使用 pandas 的 insert 方法,第乙個引數指定插入列的位置,第二個引數指定插入列的列名,第三個引數指定插入列的資料,這個方法也是我比較推崇的。

in[4

]: data.insert(data.shape[1]

,'d',0

)in[5

]: data

out[5]

: a b c d 01

2301

4560

2789

0

直接對 dataframe 直接賦值即可

in[6

]: data[

'd']=0

in[7]

: data

out[7]

: a b c d 01

2301

4560

2789

0

使用 reindex 函式,還可以指定缺失值填充的值,不過缺點是要把原有的列名和新列名都加上,如果列名過多,那就比較麻煩了。

in[8

]: data = data.reindex(columns=

['a'

,'b'

,'c'

,'d'

], fill_value=0)

in[9]

: data

out[9]

: a b c d 01

2301

4560

2789

0

concat 方法是用來拼接資料的,在這裡是利用拼接過程中新建乙個包含新列名的空dataframe,好處是可以同時新增多個列名。

in[10

]: data = pd.concat(

[data, pd.dataframe(columns=

['d'])

], sort=

false)in

[11]: data

out[11]

: a b c d

01.0

2.03.0 nan

14.0

5.06.0 nan

27.0

8.09.0 nan

loc 方法和 iloc 方法一樣,可以索引 dataframe 資料,一般是通過data.loc[index, col] = value來進行賦值,這裡利用:來索引全部行再進行賦值。

in[12

]: data.loc[:,

'd']=0

in[13]

: data

out[13]

: a b c d 01

2301

4560

2789

0

dataframe 新增列方法

引入需用的包,並新建dataframe例子 in 1 import pandas as pd import numpy as np in 2 data pd.dataframe np.array 1,2,3 4,5,6 7,8,9 columns a b c in 3 data out 3 a b ...

dataframe新增行索引的方法

dataframe 新增行的方法 1 通過loc函式新增,必須要知道行index,相同的index會覆蓋 df1 pd.dataframe 1,1 2,2 columns a b df1.loc 3 字典新增,與列名相同賦值,其他的值忽略 df1.loc df1.shape 0 1 5,5 在最後一...

dataframe中更改列屬性的方法

在讀取檔案時將整數變數讀成了字串,或者需要轉換列屬性時,通過方法 astype 舉例 dataframe.numbers dataframe.numbers.astype float province.id province.id.astype str 舉例 data read.csv data.c...