pands DataFrame meger 问题,哪位带佬帮忙解释下这是什么现象

274 天前
 gogf

pands 不熟悉,就是拿来用一下,发现这个奇怪现象

代码:

    import pandas as pd

    # 初始化一个空的 DataFrame
    df = pd.DataFrame()

    # 添加列数据
    df['Name'] = ['Alice', 'Bob', 'Charlie']
    df['Age'] = [25, 30, 35]
    df_a = df.copy()
    df_b = df.copy()
    df_c = df.copy()
    df_d = df.copy()
    df_e = df.copy()
    meger_df = df.merge(df_a, on='Name', how='left', suffixes=('_x', '_a'))
    print(meger_df)
    meger_df = meger_df.merge(df_b, on='Name', how='left', suffixes=('_a', '_b'))
    print(meger_df)
    meger_df = meger_df.merge(df_c, on='Name', how='left', suffixes=('_b', '_c'))
    print(meger_df)
    meger_df = meger_df.merge(df_d, on='Name', how='left', suffixes=('_c', '_d')) 
    print(meger_df)
    meger_df = meger_df.merge(df_e, on='Name', how='left', suffixes=('_d', '_e')) 
    print(meger_df)
707 次点击
所在节点    Python
1 条回复
placeless
274 天前
列名冲突时,suffix/prefix 才有效

1. df < df_a => Age + Age => Age_x, Age_a
2. df_a < df_b => Age_x, Age_a, + Age => Age_x, Age_a, Age
3. df_b < df_c => Age_x, Age_a, Age, +Age => Age_x, Age_a, Age_b, Age_c

以此类推

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1027558

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX