You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询Pandas中已弃用的makeMixedDataFrame函数的替代方案

Pandas自带替代pd.util.testing样本DataFrame生成功能的方案

之前pd.util.testing模块里的makeMixedDataFrame、makeMissingDataframe等生成样本DataFrame的工具,目前并没有被转移到Pandas的其他官方模块中。如果想要完全依赖Pandas自身(无需额外安装第三方库),可以用Pandas基础API结合其依赖的numpy来手动实现这些功能,以下是具体替代方案:

1. 模拟makeMixedDataFrame生成混合类型DataFrame

原函数生成的是包含浮点型、字符串型、日期型的混合DataFrame,用以下代码可以实现完全一致的效果:

import pandas as pd
import numpy as np

def make_mixed_dataframe():
    data = {
        'A': np.arange(5.0),
        'B': np.array([0.0, 1.0, 0.0, 1.0, 0.0]),
        'C': [f'foo{i+1}' for i in range(5)],
        'D': pd.date_range('2009-01-01', periods=5, freq='B')
    }
    return pd.DataFrame(data)

# 使用示例
df = make_mixed_dataframe()
print(df)

输出结果:

A    B     C          D
0  0.0  0.0  foo1 2009-01-01
1  1.0  1.0  foo2 2009-01-02
2  2.0  0.0  foo3 2009-01-05
3  3.0  1.0  foo4 2009-01-06
4  4.0  0.0  foo5 2009-01-07

2. 模拟makeMissingDataframe生成带缺失值的DataFrame

可以通过随机为DataFrame的元素赋值为np.nan来实现:

import pandas as pd
import numpy as np

def make_missing_dataframe(n_rows=5, n_cols=4, missing_rate=0.2):
    # 生成随机数值型DataFrame
    df = pd.DataFrame(np.random.randn(n_rows, n_cols), columns=[f'Col{i+1}' for i in range(n_cols)])
    # 随机设置缺失值
    mask = np.random.choice([True, False], size=df.shape, p=[missing_rate, 1-missing_rate])
    df[mask] = np.nan
    return df

# 使用示例
missing_df = make_missing_dataframe()
print(missing_df)

3. 其他通用样本DataFrame生成方式

如果需要更灵活的样本数据,还可以用Pandas的以下基础功能:

  • 用pd.DataFrame直接构造字典数据,自由组合数据类型(数值、字符串、日期、布尔值等)
  • 用pd.date_range生成日期序列,pd.Series生成单列数据后组合成DataFrame
  • 用numpy.random生成各类随机数值(整数、浮点、正态分布等),再转换为DataFrame

内容的提问来源于stack exchange,提问作者RMal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 05:24:58