Python数据分析【第7天】| pandas.DataFrame

系列文章目录

第1天:读入数据
第2天:read()、readline()与readlines()
第3天:进度条(tqdm模块)
第4天:命令行传参(argparse模块)
第5天:读、写json文件(load()、loads()、dump()、dumps())
第6天:os模块、glob模块



前言

处理数据离不开pandas模块,而谈到pandas模块,首先应该了解的就是DataFrame

一、今天所学的内容

今天来讲pandas模块中最基础也是最重要的部分:pandas.DataFrame().

二、知识点详解

先加载pandas

import pandas

然后我们来创建一个DataFrame,并逐个介绍其参数:

df = pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)
  • data:要传入 DataFrame 的数据,传入的可以是 ndarray、dict、list,甚至可以是另一个DataFrame或是由list包裹的多个dict等等,但凡你觉得它大概可以理解的数据,都不妨尝试一下。
  • index:行索引。通俗的讲就是可以给每行数据起个名字,像表格的标头。传入的格式是以字符串为元素的列表,例如[“student_1”, “student_2”]。
  • columns:列索引。与 index 类似。
  • dtype:每列的数据类型。
  • copy:官方给出的解释是“Copy data from inputs. Only affects DataFrame / 2D ndarray input.”,大致就是说从input输入中拷贝数据,我目前是没怎么用到过这个参数。

然后我们来看我们所创建的 DataFrame 的一些常用的方法:

  • df.values:返回一个 ndarray 类型的对象,包涵 DataFrame中所有的数据。
  • df.iloc[ 行序号, 列序号 ]:按照行、列的序号索引到对应位置的值,并将其返回。
  • df.loc[ 行索引, 列索引 ]:按照行、列的索引名,找到对应位置的值,并将其返回。
  • df.index:获取所有行索引
  • df.columns:获取所有列索引
  • df.T:顾名思义,是把DataFrame看作一个矩阵,对其进行转置操作,即对调行与列。
  • df.head(i):返回前 i 行数据。
  • df.tail(i):返回后 i 行数据。

最后我们通过一个例子来直观的感受一下上述的内容。
首先初始化一个DataFrame:

data = {
    
    
        '性别':['male','male','female','male'],
        '姓名':['汤师爷','县长','县长夫人','黄老爷'],
        '年龄':[40,35,25,44]}
df = pd.DataFrame(data,index=['one','two','three','four'],
               columns=['姓名','性别','年龄','职业'])

然后在命令行输入 df ,即可看到当前DataFrame的内容:
DataFrame
值得注意的是,虽然我们指定的列名中有“职业”这一条,但我们所传入的数据中并没有关于“职业”的信息,因此这一列的数据全都为NaN(Not a Number)。

然后我们来看 DataFrame 的各种操作以及对应的输出结果:

data = df.values

在这里插入图片描述
这里可以看出数据的组织是以行为主的。

还有其他的一些操作,都很好理解,下面就一并给出:
在这里插入图片描述

总结

昨天写到凌晨两点多,实在是不能这么熬夜。上周好不容易坚持了一周的运动和合理搭配饮食的瘦身计划就这样断了一天。昨晚回来又因为心情的原因暴饮暴食,控制不住自己的食欲。实在是路漫漫其修远兮。如果有不小心的疏漏,还望各位能帮忙指正,如果有什么疑问也可以在评论区留言,大家一起学习一起进步。今天就到这里了,祝大家变得更强,明天见!

今天的小tips:

  • 不要过于抵触学习新事物中

Guess you like

Origin blog.csdn.net/FANFANHEBAOER/article/details/117454907