繁体   English   中英

python - 合并 function output 排序出来

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM