Pandas merge() 函数:保留原始数据数量和顺序的技巧
要使用 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 的数量和顺序没有发生任何变化。
原文地址: https://www.cveoy.top/t/topic/oi3k 著作权归作者所有。请勿转载和采集!