使⽤Python向DataFrame中指定位置添加⼀列或多列的⽅
法
对于这个问题,相信很多⼈都会很困惑,本篇⽂章将会给⼤家介绍⼀种⾮常简单的⽅式向DataFrame中任意指定的位置添加⼀列。
在此之前或许有不少读者已经了解了最普通的添加⼀列的⽅式,如下:
import pandas as pd
feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_", delimiter="\t", header=None, usecols=[0, 1])
print(feature.head())
feature['c']='1'
print(feature.head())
这种添加⽅式得到的结果如下:
a b
0 4.459256 8.225418
1 0.043276 6.307400
2 6.997162 9.313393
3 4.754832 9.260378
4 8.661904 9.767977
a b c
0 4.459256 8.225418 1
1 0.043276 6.307400 1
2 6.997162 9.31339
3 1
3 4.754832 9.260378 1
4 8.661904 9.767977 1
同样的也会有⼈想到concat()函数(关于concat()函数的更多介绍,可以参考我的另外⼀篇博客《》),如下:
import pandas as pd
feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_", delimiter="\t", header=None, usecols=[0, 1])
print(feature.head())
feature = pd.concat([feature, pd.DataFrame(columns=list('c'))])
print(feature.head())
利⽤concat()函数添加的结果如下:
a b
0 4.459256 8.225418
1 0.043276 6.307400
2 6.997162 9.313393
3 4.754832 9.260378
4 8.661904 9.767977
a b c
0 4.459256 8.225418 NaN
1 0.043276 6.307400 NaN
2 6.997162 9.31339
3 NaN
3 4.754832 9.260378 NaN
4 8.661904 9.767977 NaN
上述两种⽅法添加⼀列存在⼀个弊端,那就是只能在DataFrame的末尾即最后⼀列添加。但是在有些情况下,我们需要在DataFrame的第⼀列或中间列位置添加新的⼀列,那么,有没有⼀种⽅法可以指定位置添加⼀列呢?答案是肯定的,这就是本⽂⼀开始所说的那种及其简单的⽅法。
如下:
import pandas as pd
feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_", delimiter="\t", header=None, usecols=[0, 1])
print(feature.head())
feature = index(columns=list('cab'), fill_value=1)
print(feature.head())
上⾯代码中的使⽤了reindex()⽅法,reindex()⽅法可以添加⼀列或多列数据,并且可以指定列的位置,也可以对原先存在的列
进⾏重排。⽅法中的columns属性控制着列的位置,c是添加的⼀列,其位于a和b前⾯,这说明c列是新数据框的第⼀
列,fill_value属性指定的是添加⼀列的值,其结果如下:
a b
0 4.459256 8.225418
1 0.043276 6.307400
2 6.997162 9.313393
3 4.754832 9.260378
4 8.661904 9.767977
c a b
0 1 4.459256 8.225418
1 1 0.043276 6.307400
2 1 6.997162 9.313393
3 1 4.754832 9.260378
4 1 8.661904 9.767977
同时,reindex()⽅法也可以同时添加多列(其实上⾯的concat()函数也可以添加多列,添加⽅式与reindex()⼀样),如下:import pandas as pd
feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_", delimiter="\t", header=None, usecols=[0, 1])
print(feature.head())
feature = index(columns=list('cabd'), fill_value=1)
print(feature.head())
我们添加了c、d两列,结果如下:
a b
0 4.459256 8.225418
1 0.043276 6.307400
2 6.997162 9.313393
3 4.754832 9.260378
4 8.661904 9.767977
c a b d
0 1 4.459256 8.225418 1
1 1 0.043276 6.307400 1
python怎么读取excel某一列2 1 6.997162 9.31339
3 1
3 1 4.754832 9.260378 1
4 1 8.661904 9.767977 1
你们在此过程中遇到了什么问题,欢迎留⾔,让我看看你们都遇到了哪些问题。
以上这篇使⽤Python向DataFrame中指定位置添加⼀列或多列的⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论