如何“关闭”DataFrame 列中的匹配对

在你的test_foo.py:


import unittest

from unittest import mock


from foo import Beef, Foo


class TestBeef(unittest.TestCase):

  

    def test_run(self):

        mock.object.patch(Foo, 'bar', return_value={'a': 'x'})

        beef = Beef()

        assert result == {'a': 'x'}


温温酱
浏览 133回答 3
3回答

森林海

然后尝试使用tuple+setfactorizedf['pair'] = df.apply(lambda x : tuple(set(x)),1).factorize()[0]+1 Out[69]: array([1, 2, 1, 2], dtype=int64)

不负相思意

您可以对数据进行排序并使用groupby().ngroup():df['pair'] = (pd.DataFrame(np.sort(df, axis=1))   .groupby([0,1], sort=False).ngroup() + 1)输出:  src dest  pair0  LV   NC     11  LA   NY     22  NC   LV     13  NY   LA     2

侃侃尔雅

您可以按以下方式分组frozenset:df['pair'] = df.groupby(df.apply(frozenset, axis=1)).ngroup() + 1print(df)印刷:  src dest  pair0  LV   NC     11  LA   NY     22  NC   LV     13  NY   LA     2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python