pandas增加列的七種方法總結(jié)
insert
def test1():
df = pandas.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']},
index=[1.0, 2.0, 3.0])
df.insert(0, 'A1', ['A00', 'A01', 'A02'])
print(df)
輸出:
A B
1.0 A0 B0
2.0 A1 B1
3.0 A2 B2
A0 A B
1.0 A00 A0 B0
2.0 A01 A1 B1
3.0 A02 A2 B2
賦值
def test1():
df = pandas.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']},
index=[1.0, 2.0, 3.0])
print(df)
df["C"] = ['C0', 'C1', 'C2']
print(df)
或
df['C'] = df['A'].str.replace("A", "C")
df['C'] = df['A'].map(lambda x: x.replace('A', 'C'))
輸出:
A B
1.0 A0 B0
2.0 A1 B1
3.0 A2 B2
A B C
1.0 A0 B0 C0
2.0 A1 B1 C1
3.0 A2 B2 C2
loc
def test1():
df = pandas.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']},
index=[1.0, 2.0, 3.0])
print(df)
df.loc[:, "C"] = ['C0', 'C1', 'C2']
print(df)
輸出:
A B
1.0 A0 B0
2.0 A1 B1
3.0 A2 B2
A B C
1.0 A0 B0 C0
2.0 A1 B1 C1
3.0 A2 B2 C2
類似上面的。
concat
def test1():
df = pandas.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']},
index=[1.0, 2.0, 3.0])
df1 = pandas.Series(['C0', 'C1', 'C2'], index=[1.0, 2.0, 3.0])
print(df)
df = pandas.concat([df, df1], axis=1)
print(df)
apply、map
map
def test1():
df = pandas.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']},
index=[1.0, 2.0, 3.0])
print(df)
df['C'] = df['A'].map(lambda x: x.replace('A', 'C'))
print(df)
結(jié)果
A B
1.0 A0 B0
2.0 A1 B1
3.0 A2 B2
A B C
1.0 A0 B0 C0
2.0 A1 B1 C1
3.0 A2 B2 C2
apply
def test1():
df = pandas.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']},
index=[1.0, 2.0, 3.0])
print(df)
df['C'] = df.apply(lambda x, s1, s2: x[s1]+x[s2], args=('A', 'B'), axis=1)
print(df)
輸出:
A B
1.0 A0 B0
2.0 A1 B1
3.0 A2 B2
A B C
1.0 A0 B0 A0B0
2.0 A1 B1 A1B1
3.0 A2 B2 A2B2
reindex
def test1():
df = pandas.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']},
index=[1.0, 2.0, 3.0])
print(df)
df = df.reindex(columns=df.columns.tolist()+['C'], fill_value=1)
print(df)
輸出:
A B
1.0 A0 B0
2.0 A1 B1
3.0 A2 B2
A B C
1.0 A0 B0 1
2.0 A1 B1 1
3.0 A2 B2 1
assign
def test1():
df = pandas.DataFrame({'A': ['A0', 'A1', 'A2'],
'B': ['B0', 'B1', 'B2']},
index=[1.0, 2.0, 3.0])
print(df)
df = df.assign(C=df["A"]+df['B'], D=df["B"]+df['A'])
print(df)
結(jié)果:
A B
1.0 A0 B0
2.0 A1 B1
3.0 A2 B2
A B C D
1.0 A0 B0 A0B0 B0A0
2.0 A1 B1 A1B1 B1A1
3.0 A2 B2 A2B2 B2A2
到此這篇關(guān)于pandas增加列的七種方法總結(jié)的文章就介紹到這了,更多相關(guān)pandas增加列內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Jinja2實(shí)現(xiàn)模板渲染與訪問對(duì)象屬性流程詳解
要了解jinja2,那么需要先理解模板的概念。模板在Python的web開發(fā)中廣泛使用,它能夠有效的將業(yè)務(wù)邏輯和頁面邏輯分開,使代碼可讀性增強(qiáng),并且更加容易理解和維護(hù)。模板簡(jiǎn)單來說就是一個(gè)其中包含占位變量表示動(dòng)態(tài)部分的文,模板文件在經(jīng)過動(dòng)態(tài)賦值后,返回給用戶2023-03-03
Python中numpy的np.percentile百分位函數(shù)舉例詳解
在python中計(jì)算一個(gè)多維數(shù)組的任意百分比分位數(shù),此處的百分位是從小到大排列,只需用np.percentile即可,這篇文章主要給大家介紹了關(guān)于Python中numpy的np.percentile百分位函數(shù)的相關(guān)資料,需要的朋友可以參考下2024-08-08
python深度學(xué)習(xí)tensorflow安裝調(diào)試教程
這篇文章主要為大家介紹了python深度學(xué)習(xí)tensorflow安裝調(diào)試教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Python數(shù)據(jù)庫編程之pymysql詳解
本文主要介紹了Python數(shù)據(jù)庫編程中pymysql,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Python使用pymupdf實(shí)現(xiàn)PDF加密
這篇文章主要介紹了如何使用 Python 和 wxPython 庫創(chuàng)建一個(gè)簡(jiǎn)單的圖形用戶界面(GUI)應(yīng)用程序,用于對(duì) PDF 文件進(jìn)行加密,感興趣的小伙伴可以了解下2023-08-08

