本文總結了平時對 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...