您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關pandas如何使用insert插入一列,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
把value插入dataframe的指定位置loc中,若插入的數據value已在DataFrame中,則返回 錯誤ValueError,如想完成重復值的插入需要把allow_duplicates設置為True
DataFrame.insert(loc, column, value, allow_duplicates=False)
參數:
Raises a ValueError if column is already contained in the DataFrame, unless allow_duplicates is set to True.
Parameters:
loc
:參數column插入的位置,如果想插入到第一例則為0,取值范圍: 0 <= loc <= len(columns),其中len(columns)為Dataframe的列數
column
:給 插入數據value取列名,可為數字,字符串等
value
:可以是整數,Series或者數組等
allow_duplicates
: 默認 False
import pandas as pd import numpy as np data = { 'school' : ['北京大學', '清華大學', '山西大學', '山西大學', '武漢大學'], 'name' : ['江路離', '沈希夢', '來使鷺', '陳曦冉', '姜浩然'], 'No.' : [20001943, 300044451, 20190006, 20191234, 1242522] } # data = list(data) <-> data = list(data.keys) # data = list(data.values()) frame = pd.DataFrame(data) print(frame)
結果:
frame.insert(0, 'num', np.ones(5)) print(frame)
結果:
frame.insert(len(frame.columns), 'list', [x for x in range(5)]) print(frame)
結果:
frame.insert(0, 'num', np.ones(5), allow_duplicates=True) print(frame)
補充:pandas 中的insert(), pop()在DataFrame的指定位置中插入某一列
在pandas中,del、drop和pop方法都可以用來刪除數據,insert可以在指定位置插入數據。
可以看看以下示例。
import pandas as pd from pandas import DataFrame, Series data = DataFrame({'name':['yang', 'jian', 'yj'], 'age':[23, 34, 22], 'gender':['male', 'male', 'female']}) #data數據 ''' In[182]: data Out[182]: age gender name 0 23 male yang 1 34 male jian 2 22 female yj ''' #刪除gender列,不改變原來的data數據,返回刪除后的新表data_2。axis為1表示刪除列,0表示刪除行。inplace為True表示直接對原表修改。 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 ''' #直接在原數據上刪除列 del data['性別'] ''' In[188]: data Out[188]: age name 0 23 yang 1 34 jian 2 22 yj '''
關于“pandas如何使用insert插入一列”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。