7分钟
DataFrame
DataFrame的结构如图所示(实线为普通属性,虚线为property属性或者getset_descriptor):
.index/columns属性都为普通属性,它们返回的都是一个Index对象,参考Series。
.dtypes属性为property属性,给出了每列的数值类型。它返回的是一个Series。并且没有.dtype属性,这一点与Series不同。
.ftypes属性为property属性,给出了每列是否为sparse/dense的。它返回的是一个Series。并且没有.ftype属性,这一点与Series不同。
.values/._values/.shape属性都为property属性,参考Series。
._data属性为普通属性,它返回的是一个BlockManager对象,该对象负责管理内部数据。该对象的.block属性(普通属性)返回一个列表,该列表里面有多个元素。DataFrame尽量用一个数组保存类型相同的列。- 每个元素都为一个
xxBlock对象。如IntBlock/FloatBlock...- 一个
xxBlock可能存储多个列的数据(这些列的数据都是同一个类型)
- 一个
xxBlock对象的.values属性(普通属性)就是存储的某个列(或者某些类型相同的列)的内部数据,一个ndarrayxxBlock对象的.shape属性(property属性)就是存储的某个列(或者某些类型相同的列)的内部数据的形状
.blocks属性为property属性。该属性返回一个字典,该字典的键为不同的数值类型,该字典的值为该数值类型的数值组成的DataFrame
学员评价