python - 保留与另一个表匹配的表行

标签 python jupyter-notebook

我需要一些帮助来解决这个问题: 我有两个表,我想过滤第二个表(表 B)中的行,以便它只显示与表 A 具有匹配“名称”的行。

一个例子:

表A

<表类="s-表"> <头> A b c <正文> 安妮 两个 三个 安妮 四个 五个 约翰 四个 五个 奥利维亚 四个 五个

表。 B

<表类="s-表"> <头> A 金钱 出租 <正文> 安妮 两个 三个 安妮 四个 五个 安妮 四个 五个 克里斯蒂安 四个 五个 保罗 四个 五个 奥利维亚 四个 五个 奥利维亚 四个 五个

我想要达到的结果是

<表类="s-表"> <头> A 金钱 出租 <正文> 安妮 两个 三个 安妮 四个 五个 安妮 四个 五个 约翰 南 南 奥利维亚 四个 五个 奥利维亚 四个 五个

最佳答案

您可以isinappend:

# Create a new B table that only includes the names of A table
new_b = b.loc[b['A'].isin(a['A'].tolist())]

# Append the additional names from Table A (i.e. Jhon)
new_b = new_b.append(a.loc[~a['A'].isin(new_b['A'].tolist())]).drop(['b','c'],axis=1).reset_index(drop=True) 

打印:

        A Money   Rent
0    Anne   Two  Three
1    Anne  Four   Five
2    Anne  Four   Five
3  Olivia  Four   Five
4  Olivia  Four   Five
5    Jhon   NaN    NaN

关于python - 保留与另一个表匹配的表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67725254/

相关文章:

python 语法错误: invalid syntax %matplotlib inline

python - 我无法使用 pyodbc 从 MySQL 正确打印字符

python - Jupyter 笔记本 : How to get rid of buttons at bottom (Present, 幻灯片、主题、帮助)

python - IO错误 : [Errno 28] No space left on device while installing TensorFlow

python - 循环修改List元素

c# - 如何将 Python 版本 3 与 .Net 集成

python - 错误 :Can't finish "storage_client = storage.Client()" in google cloud speech

python - 如何更改 AppEngine 的 AppStats 中的时区?

python - 高效的字符串后缀检测

python - MovieWriter imagemagick 不可用