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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3 關(guān)于pycharm自動導入包快捷設(shè)置的方法
今天小編就為大家分享一篇Python3 關(guān)于pycharm自動導入包快捷設(shè)置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python面向?qū)ο笾涌?、抽象類與多態(tài)詳解
這篇文章主要介紹了Python面向?qū)ο笾涌凇⒊橄箢惻c多態(tài),結(jié)合實例形式詳細分析了Python面向?qū)ο笾薪涌?、抽象類及多態(tài)的概念、用法及相關(guān)操作注意事項,需要的朋友可以參考下2018-08-08python實現(xiàn)bilibili動畫下載視頻批量改名功能
這篇文章主要介紹了python實現(xiàn)bilibili動畫下載視頻批量改名,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-11-11pandas使用apply多列生成一列數(shù)據(jù)的實例
今天小編就為大家分享一篇pandas使用apply多列生成一列數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11