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