在你的test_foo.py:import unittestfrom unittest import mockfrom foo import Beef, Fooclass TestBeef(unittest.TestCase): def test_run(self): mock.object.patch(Foo, 'bar', return_value={'a': 'x'}) beef = Beef() assert result == {'a': 'x'}
3 回答
森林海
TA贡献2011条经验 获得超2个赞
然后尝试使用tuple
+set
factorize
df['pair'] = df.apply(lambda x : tuple(set(x)),1).factorize()[0]+1 Out[69]: array([1, 2, 1, 2], dtype=int64)
不负相思意
TA贡献1777条经验 获得超10个赞
您可以对数据进行排序并使用groupby().ngroup():
df['pair'] = (pd.DataFrame(np.sort(df, axis=1))
.groupby([0,1], sort=False).ngroup() + 1
)
输出:
src dest pair
0 LV NC 1
1 LA NY 2
2 NC LV 1
3 NY LA 2
侃侃尔雅
TA贡献1801条经验 获得超16个赞
您可以按以下方式分组frozenset:
df['pair'] = df.groupby(df.apply(frozenset, axis=1)).ngroup() + 1
print(df)
印刷:
src dest pair
0 LV NC 1
1 LA NY 2
2 NC LV 1
3 NY LA 2
添加回答
举报
0/150
提交
取消