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

如何通过Pandas将打乱的单列数据转换为指定行数的多列DataFrame

可以仅通过单行Pandas语句实现需求,参考代码如下(以你指定的3行输出为例):

pd.DataFrame(np.pad(df['list'].values, (0, 3 - len(df) % 3 if len(df) %3 !=0 else 0), constant_values=np.nan).reshape(3, -1, order='F'), columns=[f'list{i+1}' for i in range(int(np.ceil(len(df)/3)))])

代码逻辑说明

  • 先通过df['list'].values取出单列的所有值转为numpy数组
  • np.pad用于处理总数据量不能被指定行数整除的场景,自动补NaN避免reshape报错,你可以把代码里的3替换为任意你需要的输出行数
  • reshape(3, -1, order='F')指定按列填充数组,输出固定3行,列数自动计算
  • 列名通过列表推导式自动生成list1、list2格式,无需手动配置

你之前尝试的列表推导式方案可以正常使用,注意不要直接用Python关键字list作为变量名,替换为DataFrame对应的列取值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:27:03