Pandas中DataFrame基本函数整理(小结)
构造函数 DataFrame([data, index, columns, dtype, copy]) #构造数据框 属性和数据 DataFrame.axes #index: 行标签;columns: 列标签 DataFrame.as_matrix([columns]) #转换为矩阵 DataFrame.dtypes #返回数据的类型 DataFrame.ftypes #返回每一列的 数据类型float64:dense DataFrame.get_dtype_counts() 在Pandas库中,DataFrame是核心数据结构之一,它提供了丰富的功能来处理和操作二维表格数据。本篇文章将对DataFrame的一些基本函数进行整理和总结,帮助你更好地理解和使用这些功能。 1. **构造DataFrame** - `DataFrame(data, index, columns, dtype, copy)`:用于创建DataFrame对象,其中`data`可以是字典、列表、数组或其他DataFrame,`index`和`columns`定义行和列的标签,`dtype`设置数据类型,`copy`决定是否深拷贝输入数据。 2. **属性访问** - `DataFrame.axes`:返回一个元组,包含行标签(index)和列标签(columns)。 - `DataFrame.as_matrix([columns])`:将DataFrame转换为NumPy数组形式,如果提供`columns`参数,则只转换指定列。 - `DataFrame.dtypes`:返回DataFrame中所有列的数据类型。 - `DataFrame.ftypes`:类似于`dtypes`,但返回每列的完整数据类型,如`float64:dense`。 - `DataFrame.get_dtype_counts()`:返回DataFrame中不同数据类型的计数。 - `DataFrame.get_ftype_counts()`:与`get_dtype_counts()`类似,但可能包括更详细的类型信息,如浮点数的精度。 3. **数据选取与转换** - `DataFrame.select_dtypes([include, exclude])`:根据数据类型选取子DataFrame,`include`和`exclude`用于指定包含或排除的类型。 - `DataFrame.values`:返回DataFrame的NumPy数组表示。 - `DataFrame.ndim`:返回DataFrame的维度,通常为2。 - `DataFrame.size`:返回DataFrame中元素的总数。 - `DataFrame.shape`:返回DataFrame的形状,元组表示行数和列数。 - `DataFrame.memory_usage([deep])`:返回DataFrame每个列的内存使用情况,`deep`参数决定是否包括子对象。 4. **类型转换** - `DataFrame.astype(dtype[, copy, errors])`:将DataFrame的列转换为指定的`dtype`,`copy`和`errors`参数控制复制行为和错误处理。 - `DataFrame.copy([deep])`:创建DataFrame的副本,`deep`决定是否进行深拷贝。 5. **索引与迭代** - `DataFrame.head([n])`:返回DataFrame的前n行。 - `DataFrame.at[]`和`DataFrame.iat[]`:快速访问单个元素,前者通过标签,后者通过位置。 - `DataFrame.loc[]`和`DataFrame.iloc[]`:基于标签和位置的索引器,用于选取行或列。 - `DataFrame.insert(loc, column, value)`:在指定位置插入新列。 - `DataFrame.iter*()`系列方法:提供不同的迭代方式遍历DataFrame的行、列和元素。 6. **其他操作** - `DataFrame.pop(item)`:删除并返回指定列。 - `DataFrame.tail([n])`:返回DataFrame的最后n行。 - `DataFrame.xs(key[, axis, level, drop_level])`:按指定的轴或级别进行切片。 - `DataFrame.isin(values)`:检查DataFrame中的元素是否包含在`values`中。 - `DataFrame.where(cond[, other, inplace, …])`和`DataFrame.mask(cond[, other, inplace, …])`:基于条件选择或替换数据。 - `DataFrame.query(expr[, inplace])`:使用布尔表达式查询DataFrame。 7. **二元运算** - `DataFrame.add()`, `DataFrame.sub()`, `DataFrame.mul()`, `DataFrame.div()`, `DataFrame.truediv()`, `DataFrame.floordiv()`, `DataFrame.pow()`, `DataFrame.mod()`:这些方法实现了加、减、乘、除、真除、地板除、幂和取模等二元运算,支持轴对齐和缺失值处理。 8. **合并与连接** - `DataFrame.concat(objs[, axis, join, join_axes, ignore_index, keys, levels, names, verify_integrity, sort, copy])`:沿指定轴合并多个DataFrame。 - `DataFrame.merge(left, right[, on, left_on, right_on, left_index, right_index, how, sort, suffixes, copy])`:根据指定键进行SQL风格的合并。 9. **排序与聚合** - `DataFrame.sort_values(by[, axis, ascending, inplace, kind, na_position])`:按列值进行排序。 - `DataFrame.groupby(by[, axis, level, as_index, sort, group_keys, squeeze, observed, dropna])`:用于分组操作,如计算统计量。 10. **其他实用函数** - `DataFrame.describe()`:返回包含统计摘要的DataFrame,如计数、均值、标准差等。 - `DataFrame.apply(func[, axis, raw, result_type, args, **kwargs])`:应用函数到DataFrame的行或列上。 以上只是DataFrame众多功能的一部分,Pandas还提供了许多其他高级特性,如时间序列分析、缺失数据处理、数据清洗等。了解并熟练掌握这些函数,将使你在处理数据时更加高效。