我有以下数据集,我想在其中应用数据透视表。
import pandas as pd<br/>
import numpy as np<br/>
df2 = pd.DataFrame(np.array([
['vishal','2018-2-1' ,'a' ],
['vishal','2018-2-2' , 'n'],
['vishal','2018-2-3' , 'n'],
['ankti','2018-2-1' , 'a'],
['ankti','2018-2-2' , 'n'],
['ankti','2018-2-3' , 'n']]),columns=['name', 'date', 'shift'])
name date shift
vishal 2018-2-1 a
vishal 2018-2-2 n
vishal 2018-2-3 n
ankti 2018-2-1 a
ankti 2018-2-2 n
ankti 2018-2-3 n
我将以下代码应用于上面的数据集(df2变量中的上述数据集存储)
table = pd.pivot_table(df2, values='shift', index=['name'], columns=['data'],aggfunc={'shift':np.sum})
print(table)
现在我得到以下结果
输出:
data 2018-2-1 2018-2-2 2018-2-3
name
ankti a n n
vishal a n n
现在我想要包含额外列的额外列,其中包含n的计数
最终结果应如下所示 ,计数列显示每行中存在的n的计数
data 2018-2-1 2018-2-2 2018-2-3 count
name
ankti a n n 2
vishal a n n 2
注意:如果没有标题的count列也很好。我想在每一行的末尾计数n。
解决办法:使用eq有sum:
table['count'] = table.eq('n').sum(1)
print(table)
date 2018-2-1 2018-2-2 2018-2-3 count
name
ankti a n n 2
vishal a n n 2








暂无数据