计算pandas数据框列

时间:2017-11-03 00:00:09

标签: python pandas dataframe

有关优雅方法的建议,可以为我的数据框中的每一列进行以下计数:

  • 列中元素的数量(任意值)
  • 列中元素的数量是非数字和非零

这里有一些代码可以像我一样生成一个数据帧(但要小得多):

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#from matplotlib import style
import seaborn as sns

df = pd.DataFrame(data=np.random.random_integers(low=0,high=10,size=(50,1)),
                  columns=['all']
                  )

# set up the grouping
g = df.groupby(pd.cut(df['all'],[-1,2,4,6,8,10]))
for name, data in g.groups.items():
    df[name] = df.loc[data]['all']

这将生成如下所示的数据框:

dataframe

2 个答案:

答案 0 :(得分:1)

您可以在不申请的情况下执行此操作:

In [11]: df.notnull().sum()
Out[11]:
all        50
(-1, 2]    12
(2, 4]     12
(4, 6]      7
(6, 8]     10
(8, 10]     9
dtype: int64

In [12]: (df.notnull() & (df != 0)).sum()
Out[12]:
all        46
(-1, 2]     8
(2, 4]     12
(4, 6]      7
(6, 8]     10
(8, 10]     9
dtype: int64

注意:这可用作计数真值与取总和相同。

答案 1 :(得分:0)

列中元素的数量(任何值)

width: calc(100% + sizeOfScrollBar)

列中元素的数量是非数字和非零

user-input