我有两个数据框 df1 和 df2
df1 = pd.dataframe("TestCaseName" : ['B', 'D', 'A', 'E', 'C'])
TestCaseName
0 B
1 D
2 A
3 E
4 C
和另一个数据框
df2 = pd.dataframe({"TestCaseName" : ['A', 'B', 'C', 'D', 'E'], "NameSpace" : ['T2'. 'T3', 'T6', 'T1', 'T8'])
TestCaseName NameSpace
0 A T2
1 B T3
2 C T6
3 D T1
4 E T8
我想要的是根据df1对df2的测试用例名称进行排序。
这是我尝试过的;
df2 = df2.set_index('TestCaseName')
df2 = df2.reindex(index=df1['TestCaseName'])
df2 = df2.reset_index()
这给了我错误 ValueError:无法从重复轴重新索引
期望的输出:
TestCaseName NameSpace
0 B T3
1 D T1
2 A T2
3 E T8
4 C T6
有人能告诉我我做错了什么或提出更好的主意吗?
答案 0 :(得分:0)
只需对左侧为 df2
且右侧为 df1
的数据框进行右侧合并:
>>> df2.merge(df1, how='right')
TestCaseName NameSpace
0 B T3
1 D T1
2 A T2
3 E T8
4 C T6
PS:它假设 df1
包含 TestCaseName
在 df2 中的所有记录
答案 1 :(得分:0)
此错误意味着您在索引具有重复值时分配给列。您可以使用以下简单的方法尝试合并:
df2.merge(df1['TestCaseName'], how='right')
答案 2 :(得分:0)
这是一种方法:
var nav = App.Current.MainPage.Navigation;
var filter = new FilterPopup();
NavigationExtensions.ShowPopup(nav, filter);