计算每列的值类型

时间:2018-02-19 21:38:25

标签: python pandas

我试图在Pandas中获得一些类型函数,这可以帮助我找到每列有多少字符串和整数。

示例:

    A    B    C    D

    1    H    3    20
    3    5    2    1
    2    Y         M

应该给我类似的东西

    A    B    C    D

int 3    1    2    2
str 0    2    0    1
NA  0    0    1    0

这样做的任何功能?我想要编写类似于:if(A == int'A')然后......,并使用一个计数器,但我想它会逐个元素并且效率极低。

1 个答案:

答案 0 :(得分:2)

设置

df = pd.DataFrame(dict(
    A=[1, 3, 2],
    B=['H', 5, 'Y'],
    C=[3, 2, None],
    D=[20, 1, 'M']
), dtype=object)

df

   A  B     C   D
0  1  H     3  20
1  3  5     2   1
2  2  Y  None   M

<强>解决方案
pd.DataFrame.applymaptypepd.value_counts

一起使用
df.applymap(type).apply(pd.value_counts).fillna(0, downcast='infer')

                    A  B  C  D
<class 'int'>       3  1  2  2
<class 'str'>       0  2  0  1
<class 'NoneType'>  0  0  1  0