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

Pandas新建DataFrame存储非空值计数无响应问题咨询

问题原因
  • 存在变量名拼写错误:你初始化空DataFrame时写的变量名是df_ new,下划线和new之间多了一个多余空格,和后续赋值操作使用的df_new不是同一个变量,初始化的空表完全没被用到。
  • 核心逻辑不符合Pandas的赋值规则:给DataFrame新增列时,如果直接传入单个标量值(也就是你计算得到的计数值2),Pandas无法匹配到对应的行索引,不会自动生成行来存储这个值,最终只会得到一个带列名但没有任何有效行数据的空DataFrame,自然不会输出你预期的结果。
修正代码

两种可直接运行的正确写法:

import pandas as pd
import numpy as np

# 复现你的原始测试数据
df = pd.DataFrame({"a column": [np.nan, "e", np.nan, "b"]})

# 写法1:修正变量名+用列表包裹标量值,让Pandas能识别到行数据
df_new = pd.DataFrame()
df_new['column1'] = [df["a column"].count()]

# 写法2:初始化新DataFrame时直接传入统计结果,代码更简洁
# df_new = pd.DataFrame({"column1": [df["a column"].count()]})

运行后得到的df_new输出和你预期完全一致:

column1
0        2

补充说明:Pandas的Series.count()方法本身返回的就是整数类型统计结果,不需要额外套int()做类型转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 20:42:21