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

构建Pandas DataFrame时如何指定默认布尔值为False

如何直接初始化全为False的布尔型Pandas DataFrame?

我需要创建一个所有初始值都是False的布尔型Pandas DataFrame,但使用常规构造方式时,默认会把值初始化为True:

import pandas as pd
from datetime import date

date_start = date(2022, 1, 1)
date_end = date(2022, 8, 24)
valid_dates = pd.bdate_range(date_start, date_end)
cols = range(0,4)
df = pd.DataFrame(index=valid_dates, columns=cols, dtype='bool')

我试过用df.replace(df, False)批量替换值,但当列数较多(实际场景有500列左右)时,这种方法耗时明显增加。有没有办法直接把DataFrame初始化为全False?

高效解决方案

借助NumPy的np.full()函数可以直接生成指定形状的全False布尔数组,再将其作为数据传入DataFrame构造函数,就能高效完成初始化。示例代码如下:

import pandas as pd
import numpy as np 
from datetime import date

date_start = date(2022, 1, 2)
date_end = date(2022, 8, 24)
valid_dates = pd.bdate_range(date_start, date_end)
cols = range(0, 500)
# 生成对应形状的全False数组,再构造DataFrame
df = pd.DataFrame(data=np.full((len(valid_dates), len(cols)), False), index=valid_dates, columns=cols)
print(df)

感谢@ivanp提供的解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 22:06:34