如何用Pandas转换指定格式数据集?求Pandas学习课程推荐
Pandas数据转换实现+自学课程推荐
一、数据转换实操步骤
假设你的输入数据存在Pandas数据框df里,按以下步骤就能完成转换:
- 去重保留唯一ID行
因为同一id的药物列和年龄值都是固定的,直接去重即可:
df_unique = df.drop_duplicates(subset='id')
- 提取值为1的药物名称
先筛选出所有带_drug后缀的列,再对每行判断哪些列值为1,把列名去掉后缀得到药物名:
# 筛选所有药物列 drug_cols = [col for col in df_unique.columns if col.endswith('_drug')] # 定义函数提取每行的有效药物 def extract_drugs(row): valid_drugs = [col.replace('_drug', '') for col in drug_cols if row[col] == 1] return ', '.join(valid_drugs) # 把有效药物存入新列 df_unique['valid_drugs'] = df_unique.apply(extract_drugs, axis=1)
- 拼接生成therapy列
把年龄和有效药物按你需要的格式拼起来,比如:
df_unique['therapy'] = df_unique.apply(lambda row: f"年龄: {row['age']}, 使用药物: {row['valid_drugs']}", axis=1)
- 整理最终结果
只保留id和therapy列就是你要的输出:
final_result = df_unique[['id', 'therapy']]
二、Pandas自学课程/资源推荐
- Pandas官方入门指南:直接看官方的Getting Started板块,从Series、DataFrame基础到数据清洗、转换、聚合全流程都有清晰讲解,是最权威的入门资料,遇到函数用法直接查官方文档,比搜Stack Overflow靠谱。
- 《Python for Data Analysis》书籍:这本书是Pandas核心开发者写的,把数据处理的逻辑和Pandas的用法讲得透,跟着书中的代码示例一步步练,重点啃数据转换、分组这些章节,能帮你建立系统的知识体系。
- B站免费实战视频:搜“Pandas实战案例”“数据转换实操”这类关键词,找那种全程敲代码的视频,跟着做医疗、电商这类常见数据集的转换练习,边练边记常用函数(比如这次用到的
drop_duplicates、apply)。 - Kaggle入门任务:找Kaggle上的入门级数据处理竞赛或练习任务,比如医疗数据清洗类的,用Pandas完成任务的过程中,遇到问题先查官方文档,慢慢就养成独立解决问题的习惯,不用依赖别人的答案。
内容的提问来源于stack exchange,提问作者arteme99
相关产品推荐
相关产品推荐

