Python之pandas小结

来源:互联网 发布:阿里云os应用下载 编辑:程序博客网 时间:2024/05/16 10:09

1、数据的导入

python中含有基本的数据导入模块,这里介绍两种基本格式(.txt和.csv)的数据导入

  • 对.csv数据导入
    在这里使用pandas库,将数据导入生成DataFrame形式的数据。
    这里写图片描述
    这里的.csv数据和.py都是在一个文件夹里的,不然的话要加入路径
    此时,数据已经被导入,我们可以用print()函数显示出来,它是将所有数据都显示出来了:

    这里写图片描述
    :
    :
    这里写图片描述
    (由于数据很大只显示最前面和最后面几组数据)
    我们可以用head(n)函数显示前n行,用tail(n)显示最后n行的数据。
    前4行数据:
    这里写图片描述
    后4行数据:
    这里写图片描述

  • 对.txt数据导入
    此时用到pandas库里的另一个函数read_table()
    这里写图片描述这里写图片描述
    同样要注意:这里的.csv数据和.py都是在一个文件夹里的,不然的话要加入路径。
    这里只获取前四行数据和后四行数据。

2、 pandas索引与计算

pandas上面已经读入titanic_train.txt数据。

  • 获取列名:
    titanic_train.columns
    这里写图片描述

  • 获取数据大小,即行列:
    titanic_train.shape
    这里写图片描述

  • 数据的索引:(注意:索引要用[]符号,索引号从0开始)
    titanic_train.loc[n] : 获取第n行的数据
    这里写图片描述

    titanic_train.loc[m:n] :获取第m行数据到第m+n行的数据
    这里写图片描述

    titanic_train.loc[[m,n]]:获取第m行数据和第n行数据
    这里写图片描述

    titanic_ train[“Age”]:获取列名为Age的数据(这里加了.head(3)是数据太多为了显示前三行数据)
    这里与上面不同直接在titanic_ train后面加列名索引
    这里写图片描述

3、 pandas数据处理

  • 将获取的列名转为列表形式:
    titanic_train.columns.tolist() : 先用.columns获取列名,然后用.tolist()转为列表形式。
    这里写图片描述
  • 对某一列进行排序:
    titanic_train.sort_values(“某一列名”,ascending = True) 注意:ascending=True是升序;ascending=False是降序
    这里写图片描述
    排序后,前面的index重新排序:
    news_titanic_train = titanic_train.sort_values(“Pclass”,ascending = True)
    news_titanic_train.reset_index(drop = False)
    这里写图片描述
    这里drop=False 原先的index没有覆盖,当drop=True时,第二列的index就没了。

  • 判断该列的某个位置是否有数据缺失:
    pandas.isnull(titanic_train[“某一列名”]) :缺失返回True,没缺失返回False
    这里写图片描述

  • 求均值:
    titanic_train[“某列名”].mean() :某列数据的均值
    这里写图片描述

    titanic_train.pivot_table(index=”列名1”,values=”列名2”,aggfunc=np.mean) :求列名1中的在列名2数据的均值(当aggfunc=sum 是求和)
    这里写图片描述
    当index 和 values 里有多组列名,则:
    这里写图片描述

  • 删除含有缺失数据的行或列:
    titanic_train.dropna(axis=0,subset=[“列1”,”列2”]) :当axis=0删除含有缺失数据的列
    例如:titanic_train.dropna(axis=0,subset=[“Sex”,”Age”])

    titanic_train.dropna(axis=1) :当axis=1删除含有缺失数据的所有行

4、 pandas自定义函数

  • apply
    假设要求每一列缺失值得个数,就能用apply(自定义函数)
    column_ null_ count = titanic_ train.apply(not_ null_count,axis=0) 当axis=0时,可以省略。
    这里写图片描述
    当axis=1时,就是函数运行在全部行上面。

  • Series
    Series是一种类似于一维数组的对象,它由一组数据(各种numPy数据类型)以及一组与之相关的数据标签(即索引)组成,本质上是一个numPy的数组,因此numpy的数组处理函数可以直接对Series进行处理。但是Series除了可以使用位置作为下标存取元素之外,还可以使用标签下标存取元素,这一点和字典相似。
    每个Series对象实际上都由两个数组组成:(index: 它是从NumPy数组继承的Index对象,保存标签信;values: 保存值的NumPy数组。)

    Series(values,index=”某行名”) :得到某行名的values结果。

原创粉丝点击