多字典列展开:将15个含字典值的列转为键为索引的数据集
批量展开字典列并生成目标数据集
直接用以下代码处理所有列,最终得到以字典键为索引的数据集:
import pandas as pd # 假设你的原始数据集是df,所有列都是需要处理的字典列 processed_dfs = [] for col_name in df.columns: # 将当前列的每个字典展开为DataFrame,再转置让字典键成为索引 expanded_df = df[col_name].apply(pd.Series).T # 把转置后的列名改为原列名,方便后续合并识别 expanded_df.columns = [col_name] processed_dfs.append(expanded_df) # 合并所有处理后的列 final_result = pd.concat(processed_dfs, axis=1)
代码说明
df[col_name].apply(pd.Series):把列中每个字典拆成一行,原数据的行索引保留,新列是字典的键。.T:转置后,字典的键会变成新的行索引,原数据的行索引变成列名,这时我们把列名替换成原列名,避免混乱。pd.concat(..., axis=1):把所有列的处理结果按列合并,最终生成的数据集就是以字典键为索引、原数据列为列的目标格式。
如果你的原始数据中只有部分列是字典列,只需要把df.columns换成你需要处理的列名列表即可,比如['halstead_vol', 'cyclomatic_complexity', ...]。
内容的提问来源于stack exchange,提问作者taha elbermaki
相关产品推荐
相关产品推荐

