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

如何使用for循环在Python中创建统计汽车产地数量的新DataFrame

代码失效原因

  • 你在循环中每次迭代都会创建一个仅包含当前产地列的全新DataFrame,并直接赋值给变量x,前序迭代生成的其他产地数据会被完全覆盖,仅最后一次遍历到的Europe的结果被保留,所以最终只能看到单列数据。

用for循环实现的正确写法

你可以先初始化一个空字典存储各产地的统计结果,循环结束后再一次性转成DataFrame:

# 初始化空字典存统计结果
count_dict = {}
for origin in cars['origin'].unique():
    count_dict[origin] = [cars.loc[cars['origin'] == origin].shape[0]]
# 转DataFrame
res_df = pd.DataFrame(count_dict)

更简洁的原生实现方式

pandas内置的分组统计方法可以不用写循环直接实现需求,性能比自行遍历更高:

res_df = cars['origin'].value_counts().to_frame().T

如果需要严格保证列顺序为USA、Europe、Japan,可以再加一行调整列序:

res_df = res_df[['USA', 'Europe', 'Japan']]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:48:05