Series可视为DataFrame的一种特例,即只有一列数据。既然如此,是否可以并列多个Series组成一个DataFrame呢?当然可以,通过这种方式创建DataFrame也称为用字典建立数据,由各列列名充当字典的键,该列数据构成的Series充当该键对应的值。示例如下:
上图中,Series类型充任df_1的第二列,因为pandas默认以“0,1,2,3”形式给行列命名,本例中,列名就是字典的键,行名默认自动生成,为了与已有行名对应,在创建第二列的Series时指定了行名index=list(range(4))。
另外,numpy中的一维数组也可以起到充当DataFrame某一列数据的作用,如果给某一列赋值时只有一个值,则pandas会自动根据行的数目重复该值以补全该列。
注意:下面的例子是在一个新建的df_2上演示,同样通过上一小节介绍的字典方式创建,但数据量略微大一些。
使用values方法可以直接得到和numpy中一样的多维数组形式的数据类型。
数据描述只是针对数值型数据给出某些列的统计信息。
对于pandas的一些转置、排序操作,这些方法和numpy中的方法无异,在此不再赘述。
前一篇博文提到用行列名、行列位置以及二者混合的方式选取数据,其实还有一种通过给定条件选择数据的方法。
上图中,设置条件选择A列中大于零的值,然后将其所在的行抽取出来组成新的DataFrame。
当然,也可以在设定条件的同时,指定所要选取的列。