IIUIC,使用
选项1] numpy的
flatten和
split
In [2535]: collections.Counter([y for x in df.values.flatten() for y in x.split()])Out[2535]:Counter({'3': 2, 'Anak': 2, 'Cap': 2, 'Indomie': 4, 'Mas': 2, 'Mi': 2, 'Mie': 2, 'Noodle': 10, 'Pop': 2, 'Telor': 2})选项2] 使用
value_counts()
In [2536]: pd.Series([y for x in df.values.flatten() for y in x.split()]).value_counts()Out[2536]:Noodle 10Indomie 4Mie 2Pop 2Anak 2Mi 2Cap 2Telor 2Mas 232dtype: int64
选项3] 使用
stack和
value_counts
In [2582]: df.apply(lambda x: x.str.split(expand=True).stack()).stack().value_counts()Out[2582]:Noodle 10Indomie 4Mie 2Pop 2Anak 2Mi 2Cap 2Telor 2Mas 232dtype: int64
细节
In [2516]: dfOut[2516]: CATEGORYBRAND0 Noodle Anak Mas1 Noodle Anak Mas2 Noodle Indomie3 Noodle Indomie4 Noodle Indomie23 Noodle Indomie24 Noodle Mi Telor Cap 325 Noodle Mi Telor Cap 326 Noodle Pop Mie27 Noodle Pop Mie



