我有两个列表(来自两个单独的 pandas 数据框的列),并且希望在保留顺序或基于条件排序的同时找到两个列表的交集。考虑以下示例:
x = ['0 MO', '1 YR', '10 YR', '15 YR', '2 YR', '20 YR', '3 MO', '3 YR',
'30 YR', '4 YR', '5 YR', '6 MO', '7 YR', '9 MO', 'Country']
y = ['Industry', '3 MO', '6 MO', '9 MO', '1 YR', '2 YR', '3 YR',
'4 YR', '5 YR', '7 YR', '10 YR', '15 YR', '20 YR', '30 YR']
answer = set(x).intersection(y)
变量 answer 产生重叠列,但不保留顺序。有没有办法对解决方案进行排序,使得答案产生:
answer = ['3 MO', '6 MO', '9 MO', '1 YR', '2 YR', '3 YR',
'4 YR', '5 YR', '7 YR', '10 YR', '15 YR', '20 YR',
'30 YR']
即首先按月(“MO”)和整数对相交列表进行排序,然后按年(“YR”)及其整数排序?
或者,是否有一种 pandas 方法可以通过两个重叠列的数据帧(保留或声明顺序)获得相同的结果?