美文网首页
Pandas中的数据结构(2):DataFrame

Pandas中的数据结构(2):DataFrame

作者: 形式主义_5adc | 来源:发表于2018-05-29 16:55 被阅读0次

    DataFrame是一个二维的有标签的数据结构,可以拥有不同类型的列。DataFrame可以被看作一张SQL表格,或者Series的字典。

    与Series相似,DataFrame可以接受不同种类的输入:

        · 一维数组、dict、list或者Series的dcit

        · 二维的numpy.ndarray

        · 结构化的数组

        · Series

        · 另一个DataFrame

    在输入数据的同时,也可以选择性地输入行和列的标签作为参数。

    如果轴坐标没有被输入,则会根据公共规则被自动创建。

    根据dict或者Series的字典创建DataFrame:

    根据Series的字典创建 根据dict创建

    行和列可以通过index和column属性进行访问:

    访问行列

    通过ndarrays / lists的字典创建DataFrame:

    所有数组的大小必须相同;如果输入了索引,索引数量必须和数组数量相同。如果没输入索引,则会自动生成range(n)的索引。

    通过结构化或者记录数组创建DataFrame:

    创建DataFrame 修改行和列的值

    通过存储dict的list创建DataFrame:

    DataFrame.from_dict:

    DataFrame.from_dict可以接收dict的字典或者类似数组的数列字典来构建DataFrame。可以通过输入orient='index',来将dict中的key当做行坐标。

    key为列名

    DataFrame.from_records:

    通过from_records创建的DataFrame可以使用特殊数据类型的index

    指定特殊的index

    列的查找、增加和删除:

    对于DataFrame的列的操作与对dict中的元素操作相似:

    列的查找、运算和增加 列的删除

    如果写入了一个标量,则会自动用此值补全整行;如果写入了一个Series,但其长度与DataFrame不同,则系统会自动调整Series的长度并将其装入DataFrame中。

    写入值的自适应

    通过dataframe.insert()函数可以在指定位置插入一列。例如,如下命令可在第二列插入一列数据,行名为‘’bar‘’,数据为df['one']:

    行的插入

    使用assign()函数可以轻松地根据已有的行建立新的行,并且assign()函数只返回数据的副本,而不会影响原数据:

    assign()创建新行

    行的查找:

    根据标签查找行:df.loc[label]        返回结果:Series

    根据行的位置查找行:df.iloc[int]           返回结果:Series

    行切片: df[5:10]          返回结果:DataFrame

    根据判断条件选择行:df[bool_vec]           返回结果:DataFrame

    行的查找

    通过索引查找特定位置的数据:

    df.at[index,column]

    或 df.col[index,column]

    通过行列数字查找特定位置的数据:

    df.icol[row,col]

    转置:

    利用DataFrame的T属性可以进行转置操作:

    DataFrame的转置

    矩阵乘法:

    利用dot方法进行矩阵间的乘运算:df1.dot(df2)

    元素展示:

    通过df.info()方法,可以查看所有列的信息

    pd.set_option('display.width',arg)  可以设置数据展示宽度,默认值是80

    pd.set_option('display.max_colwidth',arg) 可以设置行的展示宽度,不足部分用...替代

    reindex:

    reindex方法允许你在特定的轴上对索引进行增删改,并将结果作为副本返回:

    reindex修改索引

    reset_index:

    reset_index方法可以将当前的index作为dataframe的一列,并重新创建一个index:

    相关文章

      网友评论

          本文标题:Pandas中的数据结构(2):DataFrame

          本文链接:https://www.haomeiwen.com/subject/dopojftx.html