佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > pandas 使用insert插入一列

pandas 使用insert插入一列

熱門標(biāo)簽:語音系統(tǒng) 電話運(yùn)營中心 呼叫中心市場需求 客戶服務(wù) 企業(yè)做大做強(qiáng) 硅谷的囚徒呼叫中心 Win7旗艦版 百度AI接口

把value插入dataframe的指定位置loc中,若插入的數(shù)據(jù)value已在DataFrame中,則返回 錯誤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' : ['江路離', '沈希夢', '來使鷺', '陳曦冉', '姜浩然'],
 '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方法都可以用來刪除數(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列,不改變原來的data數(shù)據(jù),返回刪除后的新表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
'''
#直接在原數(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è)參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Pandas DataFrame數(shù)據(jù)的更改、插入新增的列和行的方法
  • pandas 空的dataframe 插入列名的示例
  • python實(shí)現(xiàn)在pandas.DataFrame添加一行

標(biāo)簽:山西 崇左 海南 長沙 安康 山西 喀什 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《pandas 使用insert插入一列》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    胶南市| 阳谷县| 密云县| 莒南县| 和政县| 永城市| 桦甸市| 建德市| 裕民县| 大关县| 酒泉市| 和龙市| 吉林市| 晴隆县| 江川县| 景东| 高雄县| 禹州市| 天气| 新沂市| 武平县| 高州市| 长沙县| 怀化市| 鸡泽县| 炎陵县| 喀喇沁旗| 江阴市| 林口县| 霍州市| 昌宁县| 汝南县| 凌海市| 凉山| 乐平市| 武邑县| 绵竹市| 札达县| 江津市| 乌苏市| 深水埗区|