DataFrame#

构造函数#

DataFrame([data, index, columns, dtype, ...])

属性和底层数据#

DataFrame.dtypes

返回 DataFrame 中的 dtype。

DataFrame.memory_usage([index, deep])

返回每列的内存使用量(以字节为单位)。

DataFrame.ndim

返回表示轴数 / 数组维度的整数。

DataFrame.select_dtypes([include, exclude])

基于列的数据类型返回 DataFrame 列的一个子集。

DataFrame.shape

转换#

DataFrame.astype(dtype[, copy, errors])

将 pandas 对象转换为指定的 dtype 类型。

DataFrame.convert_dtypes([infer_objects, ...])

使用支持 pd.NA 的数据类型将列转换为最佳可能的数据类型。

DataFrame.copy()

DataFrame.infer_objects([copy])

尝试为对象列推断更好的数据类型。

索引、迭代#

DataFrame.at

访问行/列标签对的单个值。

DataFrame.head([n])

返回前 n 行。

DataFrame.iat

通过整数位置访问单个行/列对的值。

DataFrame.iloc

基于纯整数位置的索引选择。

DataFrame.insert(loc, column, value[, ...])

在指定位置插入列到DataFrame。

DataFrame.loc

通过标签或布尔数组访问行和列组。

DataFrame.mask(cond[, other, inplace, axis, ...])

替换条件为True的值。

DataFrame.pop(item)

返回并从frame中删除项。

DataFrame.query(expr[, inplace])

使用布尔表达式查询DataFrame的列。

DataFrame.tail([n])

返回最后 n 行。

DataFrame.xs(key[, axis, level, drop_level])

从Series/DataFrame返回交叉部分。

DataFrame.where(cond[, other, inplace, ...])

替换条件为False的值。

二元运算符函数#

DataFrame.add(other[, axis, level, fill_value])

获取dataframe与其他元素的加法(二元运算符 add)。

DataFrame.sub(other[, axis, level, fill_value])

获取dataframe与其他元素的减法(二元运算符 subtract)。

DataFrame.mul(other[, axis, level, fill_value])

获取DataFrame与其他元素的乘法(二元运算符 mul)。

DataFrame.div(other[, axis, level, fill_value])

获取DataFrame与其他元素的浮点除法(二元运算符 truediv)。

DataFrame.truediv(other[, axis, level, ...])

获取DataFrame与其他元素的浮点除法(二元运算符 truediv)。

DataFrame.floordiv(other[, axis, level, ...])

获取 DataFrame 和 other 的整数除法,逐元素(二元运算符 floordiv)。

DataFrame.mod(other[, axis, level, fill_value])

获取 DataFrame 和 other 的模运算,逐元素(二元运算符 mod)。

DataFrame.pow(other[, axis, level, fill_value])

获取 DataFrame 和 other 的指数幂运算,逐元素(二元运算符 pow)。

DataFrame.dot(other)

计算 DataFrame 和 other 之间的矩阵乘法。

DataFrame.radd(other[, axis, level, fill_value])

获取 DataFrame 和 other 的加法,逐元素(二元运算符 radd)。

DataFrame.rsub(other[, axis, level, fill_value])

获取 DataFrame 和 other 的减法,逐元素(二元运算符 rsubtract)。

DataFrame.rmul(other[, axis, level, fill_value])

获取 DataFrame 和 other 的乘法,逐元素(二元运算符 rmul)。

DataFrame.rdiv(other[, axis, level, fill_value])

获取 DataFrame 和 other 的浮点除法,逐元素(二元运算符 rtruediv)。

DataFrame.rtruediv(other[, axis, level, ...])

获取 DataFrame 和 other 的浮点除法,逐元素(二元运算符 rtruediv)。

DataFrame.rfloordiv(other[, axis, level, ...])

获取 DataFrame 和 other 的整数除法,逐元素(二元运算符 rfloordiv)。

DataFrame.rmod(other[, axis, level, fill_value])

获取 DataFrame 和 other 的模运算,逐元素(二元运算符 rmod)。

DataFrame.rpow(other[, axis, level, fill_value])

获取 DataFrame 和 other 的指数幂运算,逐元素(二元运算符 rpow)。

DataFrame.lt(other[, axis, level, fill_value])

获取 DataFrame 和 other 的小于比较,逐元素(二元运算符 lt)。

DataFrame.gt(other[, axis, level, fill_value])

获取 DataFrame 和 other 的大于比较,逐元素(二元运算符 gt)。

DataFrame.le(other[, axis, level, fill_value])

获取 DataFrame 和 other 的小于等于比较,逐元素(二元运算符 le)。

DataFrame.ge(other[, axis, level, fill_value])

获取 DataFrame 和 other 的逐元素大于等于比较结果(二元运算符 ge)。

DataFrame.ne(other[, axis, level, fill_value])

获取 DataFrame 和 other 的逐元素不等于比较结果(二元运算符 ne)。

DataFrame.eq(other[, axis, level, fill_value])

获取 DataFrame 和 other 的逐元素等于比较结果(二元运算符 eq)。

DataFrame.combine(other, func[, fill_value, ...])

与另一个 DataFrame 进行列方向组合操作。

DataFrame.combine_first(other)

使用 other 中相同位置的值更新空值元素。

函数应用、分组与窗口操作#

DataFrame.apply(func[, axis, raw, ...])

沿 DataFrame 的轴应用函数。

DataFrame.applymap(func[, na_action, ...])

逐元素地对 DataFrame 应用函数。

DataFrame.agg([func, axis])

在指定轴上使用一个或多个操作进行聚合。

DataFrame.aggregate([func, axis])

在指定轴上使用一个或多个操作进行聚合。

DataFrame.ewm([com, span, halflife, alpha, ...])

提供指数加权函数。

DataFrame.expanding([min_periods, shift, ...])

提供扩展变换操作。

DataFrame.groupby([by, level, as_index, ...])

使用映射器或按列 Series 对 DataFrame 进行分组。

DataFrame.map(func[, na_action, dtypes, ...])

逐元素地对 DataFrame 应用函数。

DataFrame.rolling(window[, min_periods, ...])

提供滚动窗口计算功能。

DataFrame.transform(func[, axis, dtypes, ...])

对自身调用 func 生成包含转换值的 DataFrame。

计算与描述性统计#

DataFrame.abs()

DataFrame.all([axis, bool_only, skipna, ...])

DataFrame.any([axis, bool_only, skipna, ...])

DataFrame.clip([lower, upper, axis, inplace])

在输入阈值处修剪值。

DataFrame.count([axis, level, numeric_only])

DataFrame.corr([method, min_periods])

计算列之间的成对相关性,排除 NA/null 值。

DataFrame.corrwith(other[, axis, drop, method])

计算成对相关性。

DataFrame.cov([min_periods, ddof, numeric_only])

计算列之间的成对协方差,排除 NA/null 值。

DataFrame.describe([percentiles, include, ...])

生成描述性统计信息。

DataFrame.diff([periods, axis])

元素的一阶离散差分。

DataFrame.eval(expr[, inplace])

评估一个描述 DataFrame 列操作的字符串。

DataFrame.max([axis, skipna, level, ...])

DataFrame.mean([axis, skipna, level, ...])

DataFrame.median([axis, skipna, level, ...])

DataFrame.min([axis, skipna, level, ...])

DataFrame.mode([axis, numeric_only, dropna, ...])

获取沿选定轴的每个元素的众数。

DataFrame.nunique([axis, dropna])

统计请求轴上的不同观测值数量。

DataFrame.pct_change([periods, fill_method, ...])

当前元素与前一个元素之间的百分比变化。

DataFrame.prod([axis, skipna, level, ...])

DataFrame.product([axis, skipna, level, ...])

DataFrame.quantile([q, axis, numeric_only, ...])

返回在请求轴上给定分位数的值。

DataFrame.rank([axis, method, numeric_only, ...])

沿轴计算数值数据的排名(从1到n)。

DataFrame.round([decimals])

将 DataFrame 四舍五入到可变的小数位数。

DataFrame.sem([axis, skipna, level, ddof, ...])

DataFrame.std([axis, skipna, level, ddof, ...])

DataFrame.sum([axis, skipna, level, ...])

DataFrame.value_counts([subset, normalize, ...])

DataFrame.var([axis, skipna, level, ddof, ...])

重新索引 / 选择 / 标签操作#

DataFrame.add_prefix(prefix)

为标签添加字符串 prefix 前缀。

DataFrame.add_suffix(suffix)

为标签添加字符串 suffix 后缀。

DataFrame.align(other[, join, axis, level, ...])

使用指定的连接方法在轴上对齐两个对象。

DataFrame.at_time(time[, axis])

选择一天中特定时间的值(例如,上午9:30)。

DataFrame.between_time(start_time, end_time)

选择一天中特定时间之间的值(例如,上午9:00-9:30)。

DataFrame.drop([labels, axis, index, ...])

从行或列中删除指定的标签。

DataFrame.drop_duplicates([subset, keep, ...])

返回删除重复行后的 DataFrame。

DataFrame.droplevel(level[, axis])

返回删除了请求的索引/列级别的 Series/DataFrame。

DataFrame.duplicated([subset, keep, method])

返回表示重复行的布尔 Series。

DataFrame.filter([items, like, regex, axis])

根据指定的索引标签对 DataFrame 的行或列进行子集选择。

DataFrame.head([n])

返回前 n 行。

DataFrame.idxmax([axis, skipna])

返回请求轴上最大值首次出现的索引。

DataFrame.idxmin([axis, skipna])

返回请求轴上最小值首次出现的索引。

DataFrame.reindex([labels, index, columns, ...])

使 Series/DataFrame 符合新的索引,并可选择填充逻辑。

DataFrame.reindex_like(other[, method, ...])

返回一个与另一个对象具有相同索引的对象。

DataFrame.rename([mapper, index, columns, ...])

更改轴标签。

DataFrame.rename_axis([mapper, index, ...])

为索引或列设置轴的名称。

DataFrame.reset_index([level, drop, ...])

重置索引,或其某一层级。

DataFrame.sample([n, frac, replace, ...])

从对象的某个轴中返回随机样本。

DataFrame.set_axis(labels[, axis, inplace])

为给定轴分配所需的索引。

DataFrame.set_index(keys[, drop, append, ...])

使用现有列设置 DataFrame 的索引。

DataFrame.take(indices[, axis])

沿轴返回给定*位置*索引处的元素。

DataFrame.truncate([before, after, axis, copy])

在某个索引值前后截断 Series 或 DataFrame。

缺失值处理#

DataFrame.dropna([axis, how, thresh, ...])

删除缺失值。

DataFrame.fillna([value, method, axis, ...])

使用指定方法填充 NA/NaN 值。

DataFrame.isna()

检测缺失值。

DataFrame.isnull()

检测缺失值。

DataFrame.notna()

检测存在的(非缺失)值。

DataFrame.notnull()

检测存在的(非缺失)值。

重塑、排序、转置#

DataFrame.melt([id_vars, value_vars, ...])

将 DataFrame 从宽格式转换为长格式,可选择保留标识符。

DataFrame.nlargest(n, columns[, keep])

返回按 columns 降序排列的前 n 行。

DataFrame.nsmallest(n, columns[, keep])

返回按 columns 升序排列的前 n 行。

DataFrame.pivot(columns[, index, values])

返回由给定索引/列值组织的重塑后的 DataFrame。

DataFrame.pivot_table([values, index, ...])

创建一个类似电子表格的透视表作为 DataFrame。

DataFrame.reorder_levels(order[, axis])

使用输入顺序重新排列索引级别。

DataFrame.sort_values(by[, axis, ascending, ...])

按任一轴上的值进行排序。

DataFrame.sort_index([axis, level, ...])

按标签(沿某一轴)对对象进行排序。

DataFrame.swaplevel([i, j, axis])

MultiIndex 中交换级别 i 和 j。

DataFrame.stack([level, dropna])

将指定的级别从列堆叠到索引。

DataFrame.unstack([level, fill_value])

解堆叠,也称为透视,将具有 MultiIndex 的 Series 转换为 DataFrame。

合并 / 比较 / 连接 / 合并#

DataFrame.append(other[, ignore_index, ...])

other 的行追加到调用者的末尾,返回一个新对象。

DataFrame.assign(**kwargs)

为 DataFrame 分配新列。

DataFrame.compare(other[, align_axis, ...])

与另一个 DataFrame 比较并显示差异。

DataFrame.join(other[, on, how, lsuffix, ...])

连接另一个 DataFrame 的列。

DataFrame.merge(right[, how, on, left_on, ...])

使用数据库风格的连接合并 DataFrame 或命名的 Series 对象。

DataFrame.update(other[, join, overwrite, ...])

使用另一个 DataFrame 中的非 NA 值就地修改。

绘图#

DataFrame.plot 既是一个可调用方法,也是一个命名空间属性,用于特定形式的绘图方法 DataFrame.plot.<kind>

DataFrame.plot.area(*args, **kwargs)

绘制堆叠面积图。

DataFrame.plot.bar(*args, **kwargs)

垂直条形图。

DataFrame.plot.barh(*args, **kwargs)

绘制水平条形图。

DataFrame.plot.box(*args, **kwargs)

绘制 DataFrame 列的箱线图。

DataFrame.plot.density(*args, **kwargs)

使用高斯核生成核密度估计图。

DataFrame.plot.hexbin(*args, **kwargs)

生成六边形箱图。

DataFrame.plot.hist(*args, **kwargs)

绘制 DataFrame 列的直方图。

DataFrame.plot.kde(*args, **kwargs)

使用高斯核生成核密度估计图。

DataFrame.plot.line(*args, **kwargs)

将 Series 或 DataFrame 绘制为折线图。

DataFrame.plot.pie(*args, **kwargs)

生成饼图。

DataFrame.plot.scatter(*args, **kwargs)

创建具有不同标记点大小和颜色的散点图。

序列化 / IO / 转换#

DataFrame.from_dict(data[, orient, dtype, ...])

从类似数组或字典的字典构造 DataFrame。

DataFrame.from_records(data[, index, ...])

将结构化或记录型 ndarray 转换为 DataFrame。

DataFrame.to_clipboard(*[, excel, sep, ...])

将对象复制到系统剪贴板。

DataFrame.to_csv(path[, sep, na_rep, ...])

将对象写入逗号分隔值 (CSV) 文件。

DataFrame.to_dict([orient, into, index, ...])

将 DataFrame 转换为 Python dict

DataFrame.to_json([path, orient, ...])

将 DataFrame 转换为 JSON 字符串。

DataFrame.to_odps_table(table[, partition, ...])

将 DataFrame 对象写入 MaxCompute (ODPS) 表。

DataFrame.to_pandas([session])

DataFrame.to_parquet(path[, engine, ...])

将 DataFrame 写入二进制 parquet 格式,每个数据块都将被写入一个 Parquet 文件。

MaxFrame 扩展方法#

DataFrame.mf.apply_chunk(func[, batch_rows, ...])

应用一个接受 pandas DataFrame 并输出 pandas DataFrame/Series 的函数。

DataFrame.mf.collect_kv([columns, kv_delim, ...])

将指定列中的值合并为键值表示的列。

DataFrame.mf.extract_kv([columns, kv_delim, ...])

将键值表示的列中的值提取为独立列。

DataFrame.mf.flatmap(func[, dtypes, raw, args])

对每一行应用给定函数,然后展平结果。

DataFrame.mf.map_reduce([mapper, reducer, ...])

某些 DataFrame 上的 Map-reduce API。

DataFrame.mf.rebalance([axis, factor, ...])

使数据在整个集群中更加均衡。

DataFrame.mf.reshuffle([group_by, sort_by, ...])

对 DataFrame 或 Series 中的数据进行重排,使数据分布更加随机。

DataFrame.rechunk(chunk_size[, reassign_worker])

重新分块 DataFrame、Series 或 Index 数据。

DataFrame.mf 提供了 MaxFrame 特有的方法。这些方法是从 MaxCompute 的应用场景中整理而来,可以通过 DataFrame.mf.<function/property> 的方式进行访问。