【发布时间】:2021-11-21 15:33:23
【问题描述】:
我有两张桌子:
df1:
index Address type amount Epoch ln of amount
0 0x88aDa02f6fCE2F1A833ad9B4999D62a7e3b70367 outflow 250000.0 1 12.429216
1 0x88aDa02f6fCE2F1A833ad9B4999D62a7e3b70367 outflow 250000.0 2 12.429216
2 0xhj2gf34jhl23h23ljhn45b1836hfñlsxsdkjv389 outflow 250000.0 1 12.429216
3 0xhj2gf34jhl23h23ljhn45b1836hfñlsxsdkjv389 outflow 33333.0 2 10.414303
4 0xhj2gf34jhl23h23ljhn45b1836hfñlsxsdkjv389 outflow 33333.0 3 10.414303
和df2:
Index Other Addresses
0 0xhj2gf34jhl23h23ljhn45b1836hfñlsxsdkjv389
我想创建一个仅包含来自 df2 的地址(以及所有其他相应列)的新表,但行数需要是左侧的行数。
基本上,我正在确定 df1 中存在哪些来自 df2 的地址,并且只保留那些地址,以及来自其他列的所有信息。
在我的示例中,结果表如下所示:
index Address type amount Epoch ln of amount
0 0xhj2gf34jhl23h23ljhn45b1836hfñlsxsdkjv389 outflow 250000.0 1 12.429216
1 0xhj2gf34jhl23h23ljhn45b1836hfñlsxsdkjv389 outflow 33333.0 2 10.414303
2 0xhj2gf34jhl23h23ljhn45b1836hfñlsxsdkjv389 outflow 33333.0 3 10.414303
【问题讨论】:
-
如果值在整个表中,但不单独匹配行,只给我一个布尔值。
-
Boolean indexing 是
pandas的最基本用法。 -
我认为亨利的意思是 df3 = df1[df1['Address'].isin(df2['Other Addresses'])]
标签: python pandas dataframe join merge