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

如何将DataFrame的每一列拆分为独立的DataFrame并组成列表?

把多列DataFrame拆分为单个列DataFrame列表的方法

嘿,我懂你现在的困扰——想把一个3列的DataFrame拆成三个独立的DataFrame并放进列表里,之前用split函数没搞对,还得到一堆空DataFrame对吧?其实split函数根本不是干这个活的,它是用来拆分字符串列的(比如把一列里的逗号分隔字符串拆成多列),所以用错工具啦!下面给你两种简单靠谱的方法:

方法1:列表推导式(最直观)

直接遍历原DataFrame的列名,每次取单个列(注意用双重括号[[col]],这样返回的是DataFrame而不是Series),把它们收集到列表里就行:

import pandas as pd

# 先创建一个示例DataFrame(你可以替换成自己的)
df = pd.DataFrame({
    '列1': [10, 20, 30],
    '列2': ['a', 'b', 'c'],
    '列3': [True, False, True]
})

# 拆分列成单个DataFrame列表
single_df_list = [df[[col]] for col in df.columns]

# 看看结果
for idx, df_item in enumerate(single_df_list):
    print(f"第{idx+1}个DataFrame:")
    print(df_item)
    print("---")

方法2:利用items()方法遍历列

pandas的items()方法会返回每个列的名称和对应的Series数据,我们把每个Series转成DataFrame就行:

single_df_list = [pd.DataFrame(col_data) for _, col_data in df.items()]

这里的_是占位符,用来接收列名(因为我们不需要列名,只需要数据),col_data就是每一列的Series,用pd.DataFrame()转成单个列的DataFrame。

这两种方法都能轻松得到你想要的3个DataFrame的列表,再也不会出现空DataFrame的问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:12:48