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
結果如下:

