我要合并两个DataFrame:

DataFrame A columns: index, userid, locale  (2000 rows)
DataFrame B columns: index, userid, age     (300 rows)


当我执行以下操作时:

pd.merge(A, B, on='userid', how='outer')


我得到了包含以下列的DataFrame:

索引,未命名:0,用户名,语言环境,年龄

index列和Unnamed:0列相同。我想Unnamed:0列是DataFrame B的索引列。

我的问题是:合并两个DF时是否有办法避免出现此Unnamed列?

我可以在之后删除Unnamed列,但只是想知道是否有更好的方法。

最佳答案

总之,您正在做的就是将索引保存到文件,并且当您从文件读回时,以前另存为index的列将作为常规列加载。

有几种方法可以解决此问题:

方法一

pandas.DataFrame保存到磁盘时,请像这样使用index=False

df.to_csv(path, index=False)


方法二

从文件读取时,您可以定义将用作索引的列,如下所示:

df = pd.read_csv(path, index_col='index')


方法3

如果方法#2由于某种原因不适合您,则以后总是可以将列设置为用作索引,如下所示:

df.set_index('index', inplace=True)


在这之后,您的数据声望应如下所示:

        userid    locale    age
index
    0    A1092     EN-US     31
    1    B9032     SV-SE     23


我希望这有帮助。

08-24 13:49