要使用 merge() 函数不改变原始数据的数量和顺序,可以设置参数 'how' 为 'inner',这样只会保留原始数据中相同的行,而不会增加或删除任何行。下面是一个例子:

假设有两个数据框 df1 和 df2,它们分别是:

import pandas as pd

df1 = pd.DataFrame({'id': [1, 2, 3], 'name': ['Alice', 'Bob', 'Charlie']})
df2 = pd.DataFrame({'id': [1, 3, 4], 'age': [25, 30, 35]})

如果我们想要将这两个数据框按照 'id' 列合并,但不改变原始数据的数量和顺序,可以使用 merge() 函数:

merged_df = pd.merge(df1, df2, how='inner', on='id')

这将返回一个新的数据框 merged_df,其中只包含与 df1 和 df2 共有的 'id' 行,即:

print(merged_df)

| id | name | age | |----|--------|-----| | 1 | Alice | 25 | | 3 | Charlie| 30 |

注意到 merged_df 中只有 'id' 为 1 和 3 的行,因为这些行同时存在于 df1 和 df2 中。其他行(如 'id' 为 2 和 4 的行)被删除了,因为它们只存在于其中一个数据框中。同时,原始数据框 df1 和 df2 的数量和顺序没有发生任何变化。

Pandas merge() 函数:保留原始数据数量和顺序的技巧

原文地址: https://www.cveoy.top/t/topic/oi3k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录