Pandas如何将特定结构CSV文件的行转列生成目标DataFrame
CSV转目标结构Pandas DataFrame实现方法
你当前的CSV属于属性按行存储的结构,每一行对应后续DataFrame的一个列,每一列(除首列外)对应一个用户的全部属性,直接通过转置操作即可完成转换,具体步骤如下:
- 第一步:导入依赖库,读取原始CSV文件
读取时需要关闭自动表头识别,同时处理字段前的多余空格和末尾多余逗号产生的空列:
import pandas as pd # 替换为你本地的CSV文件路径 df_raw = pd.read_csv("your_file_path.csv", header=None, skipinitialspace=True) # 删除全为空的冗余列 df_raw = df_raw.dropna(axis=1, how="all")
- 第二步(可选,适配你给出的CSV示例格式):处理首列的行号前缀
如果你给出的示例中每行开头的数字是CSV文件内的实际内容(即首列值为0 full_name、1 automotive这类格式),需要先提取纯字段名:
# 拆分首列,取空格后的字段名部分 df_raw[0] = df_raw[0].str.split(n=1).str[1]
- 第三步:转置表格得到目标结构
# 将首列设为索引,后续作为转置后的列名 df_raw = df_raw.set_index(0) # 转置后重置索引,丢弃多余的旧索引列 df_result = df_raw.T.reset_index(drop=True)
转换完成后可以通过print(df_result)查看结果,完全匹配你需要的结构。
内容的提问来源于stack exchange,提问作者Jana
相关产品推荐
相关产品推荐

