【发布时间】:2020-04-24 06:53:25
【问题描述】:
这是我在 StackOverflow 上的第一个问题,如果我不够清楚,请见谅。我通常在这里找到我的答案,但这次我没有运气。也许我太密集了,但我们开始吧。
我有两个 pandas 数据帧,格式如下
df1
+------------+-------------+
| References | Description |
+------------+-------------+
| 1,2 | Descr 1 |
| 3 | Descr 2 |
| 2,3,5 | Descr 3 |
+------------+-------------+
df2
+--------+--------------+
| Ref_ID | ShortRef |
+--------+--------------+
| 1 | Smith (2006) |
| 2 | Mike (2009) |
| 3 | John (2014) |
| 4 | Cole (2007) |
| 5 | Jill (2019) |
| 6 | Tom (2007) |
+--------+--------------+
基本上,df2 中的 Ref_ID 包含构成 df1 中 References 字段中包含的字符串的 ID /p>
我想做的是替换 df1 中 References 字段中的值,使其看起来像这样:
+-------------------------------------+-------------+
| References | Description |
+-------------------------------------+-------------+
| Smith (2006); Mike (2009) | Descr 1 |
| John (2014) | Descr 2 |
| Mike (2009);John (2014);Jill (2019) | Descr 3 |
+-------------------------------------+-------------+
到目前为止,我必须处理具有 1-1 关系的列和 ID,这非常有效 Pandas - Replacing Values by Looking Up in an Another Dataframe
但我无法解决这个略有不同的问题。我能想到的唯一解决方案是重新迭代一个 for 和 if 循环,将 df1 的每个字符串与 df2 进行比较并进行替换。
恐怕这会很慢,因为我有 ca。 2000 个唯一的 Ref_ID,我必须在类似于 References 的几列中重复此操作。
有人愿意为我指明正确的方向吗?
非常感谢。
【问题讨论】:
-
编辑:感谢您的提示,我正在尝试。我现在正在努力解决的一件事是“参考”中的某些单元格是空的。
标签: python python-3.x pandas python-2.7 dataframe