如何将仅有1列的DataFrame转换为指定多列结构的DataFrame
你可以通过将单列数据按每3个元素一组重塑为3列结构实现需求,以下是具体pandas实现代码:
import pandas as pd # 构造你给出的原始DataFrame df = pd.DataFrame({ 'col1': ["1a", "2b", "3d", "4a", "5a", "6f", "7a", "8a", "9e"] })
方法1:基于numpy重塑实现(代码更简洁)
如果你的数据总量是3的整数倍,直接用reshape转换维度即可:
result = pd.DataFrame(df['col1'].values.reshape(-1, 3), columns=["col1", "col2", "col3"])
方法2:纯pandas分组实现(不依赖numpy)
按索引每3个分为一组,将每组值展开为行:
result = df.groupby(df.index // 3)['col1'].apply(list).apply(pd.Series) result.columns = ["col1", "col2", "col3"]
两种方法执行后得到的result就是你需要的目标结构。
内容的提问来源于stack exchange,提问作者harp1814
相关产品推荐
相关产品推荐

