pandas 使用insert插入一列
把value插入dataframe的指定位置loc中,若插入的數據value已在DataFrame中,則返回 錯誤ValueError,如想完成重復值的插入需要把allow_duplicates設置為True
insert方法詳解
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
1.創建數據
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)
結果:
2.插入數據
frame.insert(0, 'num', np.ones(5)) print(frame)
結果:
frame.insert(len(frame.columns), 'list', [x for x in range(5)]) print(frame)
3.插入已存在數據
結果:
4.把allow_duplicates設置為True,可實現重復值的插入
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 '''
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- python基礎篇之pandas常用基本函數匯總
- Python Pandas 中的數據結構詳解
- pandas添加新列的5種常見方法
- 聊聊python中令人迷惑的duplicated和drop_duplicates()用法
- pandas中df.rename()的具體使用