DataFrame(5):DataFrame的增、刪、改、查


1、說明

  • 增:增加一行或一列;
  • 刪:刪出一行或一列;
  • 改:修改某行或某列;
  • 查:獲取Datarame中的值;

2、查:獲取值

這里需求在之前的文章講述過了,大家可以參考這個文章:DataFrame(4):DataFrame元素的獲取方式

3、增

1)增加行

① df.loc()

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "B":[2,4,6,8,10],
                   "C":[3,6,9,12,15],
                   "D":[1,2,3,4,5]},
                   index=list("abcde"))
display(df)

df.loc["f"] = pd.Series([1,2,3,4],index=df.columns)
display(df)

結果如下:

② df.append():該函數用法很多,這個例子是向append()中傳入一個Series

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "B":[2,4,6,8,10],
                   "C":[3,6,9,12,15],
                   "D":[1,2,3,4,5]},
                   index=list("abcde"))
display(df)

x = pd.Series([1,1,1,1],index=list("ABCD"),name="f")
display(x)

df.append(x)

結果如下:

                

2)增加列

① 增加一列:df["新列名"]

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "B":[2,4,6,8,10],
                   "C":[3,6,9,12,15],
                   "D":[1,2,3,4,5]},
                   index=list("abcde"))
display(df)

df["E"] = pd.Series([6,6,6,6,6],index=df.index)
display(df)

結果如下:

               

② 在指定列后面增加一列:df.insert()

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "B":[2,4,6,8,10],
                   "C":[3,6,9,12,15],
                   "D":[1,2,3,4,5]},
                   index=list("abcde"))
display(df)

df.insert(1,"A1",pd.Series([1,1,1,1,1],index=df.index))
df

結果如下:

               

4、刪

1)刪除一行:df.drop(axis=0)

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "B":[2,4,6,8,10],
                   "C":[3,6,9,12,15],
                   "D":[1,2,3,4,5]},
                   index=list("abcde"))
display(df)

df.drop(["a","d"],axis=0)

結果如下:

               

2)刪除一列:df.drop(axis=1)

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "B":[2,4,6,8,10],
                   "C":[3,6,9,12,15],
                   "D":[1,2,3,4,5]},
                   index=list("abcde"))
display(df)

df.drop(["B"],axis=1)

結果如下:

               

注意:使用drop()函數刪除列的時候,如果原地修改df表,則必須要指定inplace=True。

3)刪除列還有兩個函數:del、pop

這兩個函數都屬於原地刪除df中的列,但是pop()函數刪除某一列后,有返回值,返回值就是該刪除列(Series),而del屬於永久刪除列,該列刪除后就不存在了。

① del:永久的刪除某一列數據

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "B":[2,4,6,8,10],
                   "C":[3,6,9,12,15],
                   "D":[1,2,3,4,5]},
                   index=list("abcde"))
display(df)

del df["C"]

結果如下:

               

② pop():刪除某列數據,會得到一個返回值Series

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "B":[2,4,6,8,10],
                   "C":[3,6,9,12,15],
                   "D":[1,2,3,4,5]},
                   index=list("abcde"))
display(df)

df1 = df.pop("C")
display(df1)
display(df)

結果如下:

               

5、改

1)修改某行:df.loc()、df.iloc()

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "B":[2,4,6,8,10],
                   "C":[3,6,9,12,15],
                   "D":[1,2,3,4,5]},
                   index=list("abcde"))
display(df)

df.loc["a"] = [1,1,1,1]
display(df)

df.iloc[1] = [6,6,6,6]
display(df)

結果如下:

               

2)修改某列:df[ ]

df = pd.DataFrame({"A":[1,3,5,7,9],
                   "B":[2,4,6,8,10],
                   "C":[3,6,9,12,15],
                   "D":[1,2,3,4,5]},
                   index=list("abcde"))
display(df)

df["A"] = [1,1,1,1,1]
df

結果如下:

               

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM