如何拆分单一行存储全部信息的Dataframe并转为整洁格式?
解决单行DataFrame转整洁格式的问题
假设你的原始单行DataFrame结构如下(对应你提到的非整洁数据):
import pandas as pd # 模拟原始数据:第一列值是新列名,第二列是该列的固定取值,后续列是另一列的各个项 raw_df = pd.DataFrame([["suffix_name", "none", "X1", "X2", "X3", "X4"]])
要转换成目标整洁格式,可以按以下步骤操作:
提取新列名和对应固定值:
# 从第一行第一个元素获取新列名 target_col = raw_df.iloc[0, 0] # 从第一行第二个元素获取该列的取值 col_value = raw_df.iloc[0, 1]提取需要展开的项目列表:
items = raw_df.iloc[0, 2:].dropna().tolist() # 过滤可能的空值构造整洁格式的DataFrame:
clean_df = pd.DataFrame({ target_col: [col_value] * len(items), "item": items })
执行后得到的clean_df就是你需要的整洁格式:
suffix_name item 0 none X1 1 none X2 2 none X3 3 none X4
如果原始数据的列数不固定,或者存在空值,上述代码中的dropna()可以确保只保留有效项目。
内容的提问来源于stack exchange,提问作者shabuya
相关产品推荐
相关产品推荐

