我merge后,column就变了,要怎么弄回来
def merge(self,left_s,right_s):return pd.merge(left_s,right_s,on=colname.grouped_name,how='outer')
self.grouped_name = ["姓名", "工作地点", "岗位"]
这样弄了之后,我这个姓名~工作地点~岗位就不在columns里面了,要怎么弄回来 在使用merge函数合并两个DataFrame时,如果指定了on参数来进行合并的列名,那么合并后的结果会自动去除掉这一列作为索引,而将其他列保留在columns中。
如果你想要恢复这个"姓名~工作地点~岗位"字段作为一列,并将其添加到columns中,可以按照以下步骤进行操作:
1. 在调用merge方法之前,将"姓名~工作地点~岗位"字段添加到columns中:
self.left_s['姓名~工作地点~岗位'] = self.grouped_name
2. 然后再调用merge方法进行合并:
result = pd.merge(self.left_s, self.right_s, on=self.grouped_name, how='outer')
这样做之后,你就能够在合并后的结果中看到"姓名~工作地点~岗位"这一列了。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2024-5-27 16:45
在使用merge函数合并两个DataFrame时,如果指定了on参数来进行合并的列名,那么合并后的结果会自动去除掉这 ...
没看明白,,,还有,,我的self.grouped_name = ["姓名", "工作地点", "岗位"],是三列 laiyuanjie 发表于 2024-05-27 16:49
没看明白,,,还有,,我的self.grouped_name = ,是 ...
抱歉,可能是我解释得不够清晰。如果你的self.grouped_name是三列,即"姓名"、"工作地点"、"岗位",那么你需要将这三列作为索引列之后再进行合并。
可以按照以下步骤进行操作:
1. 将self.grouped_name设置为DataFrame的索引:
self.left_s.set_index(["姓名", "工作地点", "岗位"], inplace=True)
2. 然后再调用merge方法进行合并:
result = pd.merge(self.left_s, self.right_s, left_index=True, right_index=True, how='outer')
这样做之后,你就能够在合并后的结果中看到"姓名"、"工作地点"、"岗位"这三列了,它们会被作为合并后的DataFrame的索引列,并保留在columns中。
希望这次解释更清楚了,如果还有任何问题,请随时告诉我。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]