【发布时间】:2022-01-27 03:43:29
【问题描述】:
我正在尝试通过特定列上的键合并两个 pandas 数据帧(df1 和 df2),但我想保留两个 dfs 上没有匹配键的行。最后,我想要一个 df3 缺少该键列的值。当我使用以下代码执行此操作时,我的整数将转换为浮点类型:
df3 = pd.merge(df1, df2, how= 'left', on=['Species Name'])
我可以使用以下方法将它们转换为 int64:
df3['物种 ID'] = df3['物种 ID'].astype('Int64')
但随后我的 NaN 被转换为“pandas._libs.missing.NAType”的“
df1:
| Sample ID | Species Name |
|---|---|
| A | X |
| B | Y |
| C | NaN |
df2:
| Species Name | Species ID |
|---|---|
| X | 1 |
| Y | 2 |
我最终得到了什么:
| Sample ID | Species Name | Species ID |
|---|---|---|
| A | X | 1.000 |
| B | Y | 2.000 |
| C | NaN | NaN |
【问题讨论】:
标签: python pandas dataframe merge