pandas 使用insert插入一列
把value插入dataframe的指定位置loc中,若插入的數(shù)據(jù)value已在DataFrame中,則返回 錯(cuò)誤ValueError,如想完成重復(fù)值的插入需要把a(bǔ)llow_duplicates設(shè)置為True
insert方法詳解
DataFrame.insert(loc, column, value, allow_duplicates=False)
參數(shù):
Raises a ValueError if column is already contained in the DataFrame, unless allow_duplicates is set to True.
Parameters:
loc
:參數(shù)column插入的位置,如果想插入到第一例則為0,取值范圍: 0 <= loc <= len(columns),其中l(wèi)en(columns)為Dataframe的列數(shù)
column
:給 插入數(shù)據(jù)value取列名,可為數(shù)字,字符串等
value
:可以是整數(shù),Series或者數(shù)組等
allow_duplicates
: 默認(rèn) False
1.創(chuàng)建數(shù)據(jù)
import pandas as pd import numpy as np data = { 'school' : ['北京大學(xué)', '清華大學(xué)', '山西大學(xué)', '山西大學(xué)', '武漢大學(xué)'], 'name' : ['江路離', '沈希夢(mèng)', '來(lái)使鷺', '陳曦冉', '姜浩然'], 'No.' : [20001943, 300044451, 20190006, 20191234, 1242522] } # data = list(data) <-> data = list(data.keys) # data = list(data.values()) frame = pd.DataFrame(data) print(frame)
結(jié)果:
2.插入數(shù)據(jù)
frame.insert(0, 'num', np.ones(5)) print(frame)
結(jié)果:
frame.insert(len(frame.columns), 'list', [x for x in range(5)]) print(frame)
3.插入已存在數(shù)據(jù)
結(jié)果:
4.把a(bǔ)llow_duplicates設(shè)置為True,可實(shí)現(xiàn)重復(fù)值的插入
frame.insert(0, 'num', np.ones(5), allow_duplicates=True) print(frame)
補(bǔ)充:pandas 中的insert(), pop()在DataFrame的指定位置中插入某一列
在pandas中,del、drop和pop方法都可以用來(lái)刪除數(shù)據(jù),insert可以在指定位置插入數(shù)據(jù)。
可以看看以下示例。
import pandas as pd from pandas import DataFrame, Series data = DataFrame({'name':['yang', 'jian', 'yj'], 'age':[23, 34, 22], 'gender':['male', 'male', 'female']}) #data數(shù)據(jù) ''' In[182]: data Out[182]: age gender name 0 23 male yang 1 34 male jian 2 22 female yj ''' #刪除gender列,不改變?cè)瓉?lái)的data數(shù)據(jù),返回刪除后的新表data_2。axis為1表示刪除列,0表示刪除行。inplace為True表示直接對(duì)原表修改。 data_2 = data.drop('gender', axis=1, inplace=False) ''' In[184]: data_2 Out[184]: age name 0 23 yang 1 34 jian 2 22 yj ''' #改變某一列的位置。如:先刪除gender列,然后在原表data中第0列插入被刪掉的列。 data.insert(0, '性別', data.pop('gender'))#pop返回刪除的列,插入到第0列,并取新名為'性別' ''' In[185]: data Out[186]: 性別 age name 0 male 23 yang 1 male 34 jian 2 female 22 yj ''' #直接在原數(shù)據(jù)上刪除列 del data['性別'] ''' In[188]: data Out[188]: age name 0 23 yang 1 34 jian 2 22 yj '''
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
使用PyQt的QLabel組件實(shí)現(xiàn)選定目標(biāo)框功能的方法示例
這篇文章主要介紹了使用PyQt的QLabel組件實(shí)現(xiàn)選定目標(biāo)框功能的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05python實(shí)現(xiàn)帶錯(cuò)誤處理功能的遠(yuǎn)程文件讀取方法
這篇文章主要介紹了python實(shí)現(xiàn)帶錯(cuò)誤處理功能的遠(yuǎn)程文件讀取方法,涉及Python使用socket操作遠(yuǎn)程文件的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04對(duì)Python3中列表乘以某一個(gè)數(shù)的示例詳解
今天小編就為大家分享一篇對(duì)Python3中列表乘以某一個(gè)數(shù)的示例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07python人工智能tensorflow函數(shù)tf.get_collection使用方法
這篇文章主要為大家介紹了python人工智能tensorflow函數(shù)tf.get_collection使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05python機(jī)器學(xué)習(xí)實(shí)現(xiàn)決策樹
這篇文章主要為大家詳細(xì)介紹了python機(jī)器學(xué)習(xí)實(shí)現(xiàn)決策樹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11