[英]python - merge function output comes out sorted
下面是我的代码
vals = [1,123,223,510,2356,7810]
id = ['AAA', 'AA', 'A', 'BBB', 'BB', 'B']
dd = pd.DataFrame(vals,index=id,columns=['Values'])
ddd = ["AAA","A", "AA", "A", "A", "BBB", "BBB", "A"]
ddd = pd.DataFrame(ddd,columns=['Values']).set_index('Values')
dout = pd.merge(ddd,dd,left_index=True,right_index=True,sort=False)
我的 output 已排序
Values
A 223
A 223
A 223
A 223
AA 123
AAA 1
BBB 510
BBB 510
而 dataframe ddd 的序列是 ['AAA', 'AA', 'A', 'BBB', 'BB', 'B'],这是我想要的 output 序列,即未排序。 我添加了 sort=False 但这不起作用。 我错过了什么?
解决这个问题的唯一方法是在我的代码底部添加这两行,它给了我我想要的
dout_new = dout.drop_duplicates().T
columns_ = ddd.reset_index().Values.to_list()
dout_new = dout_new[columns_].T
如果有人有更好的答案,请告诉我们!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.