繁体   English   中英

Python Pandas 用另一行的数据替换 NaN

[英]Python Pandas replace NaN with data from another row

我有两个数据框。 Dataframe A包含课程信息,包括所需教科书的ISBN号:

课程简称 课程编号 节号 课程名 课程导师 课程座位 国际标准书号
ACCT 205 101 介绍财务会计 30 9780357617977
ACCT 205 102 介绍财务会计 授予 30 9780357617977
ACCT 205 901 介绍财务会计 授予 35 9780357617977

Dataframe B 包含图书购买信息,还包含 ISBN 号:

标题 书号 捆绑 US_List
高效能青少年的 7 个习惯:青少年成功的终极指南。 9.78148E+12 17.99 美元
高效能青少年的 7 个习惯:青少年成功的终极指南。 9.78148E+12 电子书
ADOBE AUDITION CC:书中的课堂:来自 ADOBE 的官方培训手册。 9.78014E+12 第二版。 59.99 美元

我能够合并这两个数据框,以便课程信息与图书购买信息一起可用。 但是,Dataframe B 包含同一本书的许多不同列表。 我想将课程信息带到 ISBN 不同的匹配标题中。 因此在下面的示例中,即使 ISBN 不同,课程信息也会出现在两个版本的标题中:

课程简称 课程编号 节号 课程名 课程导师 课程座位 国际标准书号 标题
CTEC 107 825.0 IT 成功的技能 洛特 20.0 9781476764665 高效能青少年的 7 个习惯:青少年成功的终极指南。
高效能青少年的 7 个习惯:青少年成功的终极指南。

最好的方法是什么? 需要填写课程信息的行并不总是位于与包含课程信息的行相关的相同位置,因此我认为 ffill 或 bfill 不起作用。

ISBN No排序会将空值推到底部,然后您可以按标题分组并填充数据。

df.sort_values(by='ISBN No').groupby('Title').ffill()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM