数据分析回头看1——Pandas中数据处理总结

0、前言:因为之前自己在学习pandas的过程中就简单做了下笔记,发现在用的时候还是会比较乏力,很多东西容易忘,所以我就决定结合之前笔记的内容,按照使用pandas的习惯,把知识点梳理一下,方便之后查找和记忆。

1、说明pandas中的Series和Dataframe数据的区别:

  • pandas中series数据:series数据是一维数组,它有对应的索引(index)和数据(data)两部分组成,在初始化的时候可以不传index,只传data进去,注意不论是index还是data都是通过列表传入的数据,index默认是从0开始,你也可以自己传了index列表,index列表中不一定是数字,也可以是字符串。
  • 一般使用pandas就直接使用DataFrame,因为一维数组也可以用其表示,且一维的DataFrame可以转化为

在这里插入图片描述

  • pandas中的dataframe数据:dataframe数据是二维数组,它有对应的行索引(index)、列索引(columns)、二维数组的数据(data),这些数据都是通过列表传入,行索引和列索引不一定是数字,也可以是字符串。

在这里插入图片描述
注意:在DataFrame中有很多属性,其中比较有用的是通过(.values)查看所有值,通过(.columns)查看所有列名,通过(.index)查看所有行名,通过(.shape)查看行数和列数;在DataFrame中也有很多有用的函数,比如通过(.info())查看详细信息。求每一列的非空值、每一列的最大值、每一列的平均数、每一列的方差等等。

  • Series数据和DataFrame数据之间的相互转换

在这里插入图片描述
注意:DataFrame数据转series只需要直接用loc或者iloc抽取其中的行和列即可,在提取的时候不要给索引加([ ]),可以参考下面的数据抽取!



2、对Series数据的增删改查:

  • 查:
    在这里插入图片描述

  • 增:

    • 增加后变为新Series对象
      在这里插入图片描述
    • 在原来的Series对象上增加(★★★★★)
      在这里插入图片描述
  • 删:使用drop函数,注意其中传入的第一个参数是要删除的数据的索引的列表,第二个数据要记得把inplace设置为True,否则不会修改源数据。
    在这里插入图片描述

  • 改:改其实就是在查的基础上完成的。
    在这里插入图片描述



3、对DataFrame数据,通过loc方法进行数据抽取:这种方法就是通过行索引和列索引来抽取数据,如果涉及区间抽取数据,结果是左闭右闭。

  • 提取一行数据:因为一行是一维的,所以提取之后可以是DataFrame数据也可以是Series数据,区别就是行索引加不加([ ])
    在这里插入图片描述

  • 提取一列数据:因为一列是一维的,所以提取之后可以是DataFrame数据也可以是Series数据,区别就是列索引加不加([ ])
    在这里插入图片描述

  • 提取一个指定行号和列号的数值:一个([ ])都不加是得到的是值,加一个得到的是Series数据,加两个,得到的是DataFrame数据
    在这里插入图片描述

  • 提取多行多列数据:分为提取行区间数据,列区间数据和提取指定行,指定列数据两种。
    在这里插入图片描述



4、对DataFrame数据,通过iloc方法进行数据抽取:这种方法就是通过行索引号和列索引号来抽取数据,索引是从0开始的,如果涉及区间提取,结果是左闭右开。

  • 提取一行数据:因为一行是一维的,所以提取之后可以是DataFrame数据也可以是Series数据,区别就是行索引加不加([ ]),具体可以参考上面loc抽取数据的举例。

  • 提取一列数据:因为一列是一维的,所以提取之后可以是DataFrame数据也可以是Series数据,区别就是列索引加不加([ ]),具体可以参考上面loc抽取数据的举例。

  • 提取一个指定行号和列号的数值:一个([ ])都不加是得到的是值,加一个得到的是Series数据,加两个,得到的是DataFrame数据,具体可以参考上面loc抽取数据的举例。

  • 提取多行多列数据:分为提取行区间数据,列区间数据和提取指定行,指定列数据两种,具体可以参考上面loc抽取数据的举例。



5、对DataFrame数据的增删改查:


  • 对DataFrame数据进行查找,本质就是进行数据抽取,方法可以参考上面的3和4,通过loc和iloc即可。

  • 增:可以用iloc来增加,但是不能用loc增加,会报错。

    • 增加列数据:用loc可以增加,用直接索引的的方法也可以增加,建议用loc,因为loc也可用来增加行数据,记住一种方法用起来方便。
      在这里插入图片描述
    • 增加行数据:只能用loc增加行数据,且增加行数据的时候,loc中直接传新的行索引即可。
      在这里插入图片描述
    • 总结,给DataFrame增加数据可以用loc方法,但是loc只能将数据增加在末尾,如果要想在指定位置插入,就要用其他方法了,要插入列数据相对简单,用insert函数即可,要插入行数据,相对就比较复杂了,需要用切片之后连接的方法来做。
  • 删:用drop函数,删列和删行都有两种方法,选择哪一种都要记得inplace设置为True,否则不会修改源数据。

    • 删除列数据:有两种方式一种是通过drop中的参数(labels标签搭配axis=1)表示从列标签中找对应标签删除,一种是通过columns参数直接输入对应的列索引来删除。
      在这里插入图片描述
      在这里插入图片描述
    • 删除行数据:
      在这里插入图片描述
      在这里插入图片描述
    • 修改列索引:方法就是调用rename函数,其中输入参数columns是个字典,其中‘键’表示原来的列索引名称,’值‘表示要替换的列索引名称。
      在这里插入图片描述

    • 修改行索引:方法就是调用rename函数,其中输入参数index是个字典,其中‘键’表示原来的列索引名称,’值‘表示要替换的列索引名称。
      在这里插入图片描述

    • 修改列数据:本质是通过直接赋值的方法,重新给对应列赋值,通过iloc和loc都可以,举例如下:
      df.loc[:, ‘语文’] = [115, 108, 112, 118, 115]

    • 修改行数据:本质是通过直接赋值的方法,重新给对应行赋值,通过iloc和loc都可以,举例如下:
      df.loc[‘张飞’] = [120, 115, 109, 105]

    • 修改具体值:
      df.iloc[0, 0] = 115
      df.loc[‘张飞’, ‘语文’] = 115



猜你喜欢

转载自blog.csdn.net/sz1125218970/article/details/131437829