使用Python向DataFrame中指定位置添加一列或多列的方法
對(duì)于這個(gè)問題,相信很多人都會(huì)很困惑,本篇文章將會(huì)給大家介紹一種非常簡(jiǎn)單的方式向DataFrame中任意指定的位置添加一列。
在此之前或許有不少讀者已經(jīng)了解了最普通的添加一列的方式,如下:
import pandas as pd
feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_train_data.txt", delimiter="\t", header=None, usecols=[0, 1])
feature.columns = ["a","b"]
print(feature.head())
feature['c']='1'
print(feature.head())
這種添加方式得到的結(jié)果如下:
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.313393 1
3 4.754832 9.260378 1
4 8.661904 9.767977 1
同樣的也會(huì)有人想到concat()函數(shù)(關(guān)于concat()函數(shù)的更多介紹,可以參考我的另外一篇博客《在Pandas中DataFrame數(shù)據(jù)合并、連接(concat、merge、join)的實(shí)例》),如下:
import pandas as pd
feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_train_data.txt", delimiter="\t", header=None, usecols=[0, 1])
feature.columns = ["a","b"]
print(feature.head())
feature = pd.concat([feature, pd.DataFrame(columns=list('c'))])
print(feature.head())
利用concat()函數(shù)添加的結(jié)果如下:
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.313393 NaN
3 4.754832 9.260378 NaN
4 8.661904 9.767977 NaN
上述兩種方法添加一列存在一個(gè)弊端,那就是只能在DataFrame的末尾即最后一列添加。但是在有些情況下,我們需要在DataFrame的第一列或中間列位置添加新的一列,那么,有沒有一種方法可以指定位置添加一列呢?答案是肯定的,這就是本文一開始所說的那種及其簡(jiǎn)單的方法。
如下:
import pandas as pd
feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_train_data.txt", delimiter="\t", header=None, usecols=[0, 1])
feature.columns = ["a","b"]
print(feature.head())
feature = feature.reindex(columns=list('cab'), fill_value=1)
print(feature.head())
上面代碼中的使用了reindex()方法,reindex()方法可以添加一列或多列數(shù)據(jù),并且可以指定列的位置,也可以對(duì)原先存在的列進(jìn)行重排。方法中的columns屬性控制著列的位置,c是添加的一列,其位于a和b前面,這說明c列是新數(shù)據(jù)框的第一列,fill_value屬性指定的是添加一列的值,其結(jié)果如下:
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
同時(shí),reindex()方法也可以同時(shí)添加多列(其實(shí)上面的concat()函數(shù)也可以添加多列,添加方式與reindex()一樣),如下:
import pandas as pd
feature = pd.read_csv("C://Users//Machenike//Desktop//xzw//lr_train_data.txt", delimiter="\t", header=None, usecols=[0, 1])
feature.columns = ["a","b"]
print(feature.head())
feature = feature.reindex(columns=list('cabd'), fill_value=1)
print(feature.head())
我們添加了c、d兩列,結(jié)果如下:
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
2 1 6.997162 9.313393 1
3 1 4.754832 9.260378 1
4 1 8.661904 9.767977 1
你們?cè)诖诉^程中遇到了什么問題,歡迎留言,讓我看看你們都遇到了哪些問題。
以上這篇使用Python向DataFrame中指定位置添加一列或多列的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python 統(tǒng)計(jì)一個(gè)列表當(dāng)中的每一個(gè)元素出現(xiàn)了多少次的方法
今天小編就為大家分享一篇python 統(tǒng)計(jì)一個(gè)列表當(dāng)中的每一個(gè)元素出現(xiàn)了多少次的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-11-11
python 點(diǎn)云地面點(diǎn)濾波-progressive TIN densification(PTD)算法介紹
關(guān)于地面點(diǎn)濾波的概念我們要與孤立點(diǎn)(outlier)濾波區(qū)分開,孤立點(diǎn)濾波可以理解為圖像中的去噪,去除數(shù)據(jù)測(cè)量過程中受到飛鳥、多路徑效應(yīng)所產(chǎn)生的遠(yuǎn)低于/高于其他數(shù)據(jù)的點(diǎn)。今天通過本文給大家分享python PTD點(diǎn)云地面點(diǎn)濾波的相關(guān)知識(shí),一起看看吧2021-08-08
對(duì)PyTorch torch.stack的實(shí)例講解
今天小編就為大家分享一篇對(duì)PyTorch torch.stack的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Python實(shí)現(xiàn)批量合并多個(gè)txt文件并生成Excel文件
在數(shù)據(jù)處理中,有時(shí)會(huì)面臨合并多個(gè)文本文件的任務(wù),本文將詳細(xì)介紹如何使用Python批量合并多個(gè)txt文件,并將其生成為一個(gè)Excel文件,需要的可以參考下2023-12-12
Python裝飾器限制函數(shù)運(yùn)行時(shí)間超時(shí)則退出執(zhí)行
今天小編就為大家分享一篇關(guān)于Python裝飾器限制函數(shù)運(yùn)行時(shí)間超時(shí)則退出執(zhí)行,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04
python語言變量和數(shù)據(jù)類型基礎(chǔ)學(xué)習(xí)
這篇文章主要為大家介紹了python語言變量和數(shù)據(jù)類型基礎(chǔ)學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
Python實(shí)現(xiàn)在線批量美顏功能過程解析
這篇文章主要介紹了Python實(shí)現(xiàn)在線批量美顏功能過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06

