DataFrame 新增列的五种方法
pandas.DataFrame 进行新增列操作的五种方法:insert、reindex、loc、obj[‘col’]、concat。
data:
a b c
0 1 2 3
1 4 5 6
2 7 8 9
一、insert 方法
使用 pandas 的 insert 方法,第一个参数指定插入列的位置,第二个参数指定插入列的列名,第三个参数指定插入列的数据。
data.insert(data.shape[1], 'd', 0)
data:
a b c d
0 1 2 3 0
1 4 5 6 0
2 7 8 9 0
二、obj[‘col’] = value 方法
直接对 DataFrame 直接赋值即可
data['d'] = 0
data:
a b c d
0 1 2 3 0
1 4 5 6 0
2 7 8 9 0
三、reindex 方法
使用 reindex 函数,还可以指定缺失值填充的值,不过缺点是要把原有的列名和新列名都加上,如果列名过多,那就比较麻烦了。
data = data.reindex(columns=['a', 'b', 'c', 'd'], fill_value=0)
data:
a b c d
0 1 2 3 0
1 4 5 6 0
2 7 8 9 0
四、concat 方法
concat 方法是用来拼接数据的,可以同时新增多个列名。
data = pd.concat([data, pd.DataFrame(columns=['d'])], sort=False)
data:
a b c d
0 1.0 2.0 3.0 NaN
1 4.0 5.0 6.0 NaN
2 7.0 8.0 9.0 NaN
五、loc 方法
loc 方法和 iloc 方法一样,可以索引 DataFrame 数据,一般是通过 data.loc[index, col] = value
来进行赋值,这里利用:来索引全部行再进行赋值。
data.loc[:, 'd'] = 0
data:
a b c d
0 1 2 3 0
1 4 5 6 0
2 7 8 9 0