我要合并两个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
我希望这有帮助。