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

将Pandas DataFrame中的数组转为列,实现18×1到18×18的结构转换

解决方法

假设你的原始DataFrame列名为arrays(如果不是,替换成你实际的列名),可以用两种简单方法实现转换:

方法一:高效的列表转换法

先把列中的每个数组转成列表,再直接构造新的DataFrame:

import pandas as pd

# 假设你的原始DataFrame是df
new_df = pd.DataFrame(df['arrays'].tolist())

# 可选:给新DataFrame设置自定义列名
new_df.columns = [f'column_{i+1}' for i in range(18)]

方法二:apply展开法

用apply(pd.Series)把每行的数组拆分成列:

new_df = df['arrays'].apply(pd.Series)

示例演示

如果还没创建测试数据,可以用这段代码模拟你的场景:

import pandas as pd
import numpy as np

# 生成18行1列的DataFrame,每行是长度18的随机数组
df = pd.DataFrame({
    'arrays': [np.random.rand(18) for _ in range(18)]
})

# 转换为18×18的DataFrame
new_df = pd.DataFrame(df['arrays'].tolist())

转换后,new_df就是你需要的18行18列结构——每行对应原DataFrame该行的数组元素,每列对应数组的每个位置值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 14:45:27