如何对数据按列求频数

我知道R有apply(data,2,table)这种方法。
我也知道按行来算频数,可以用Python的collect模块很快。awk来建字典也行。
但是按列来求频数什么方法是最快的?不是一列,是全部列。

可结合collections的Counter和pandas中的apply来实现,示例:

import pandas as pd
from collections import Counter
df=pd.DataFrame({'a':[2,3,5,6,2,3],'b':[4,6,8,9,6,9]})
df=df.apply(lambda x:Counter(x))
print(df)

a    {2: 2, 3: 2, 5: 1, 6: 1}
b    {4: 1, 6: 2, 8: 1, 9: 2}
dtype: object