熊猫:如何分组并显示唯一值的数量

时间:2019-03-03 03:20:34

标签: python pandas dataframe

我的数据格式如下:

dateObs        website
---            --- 
2015-04-21     google.com
2015-08-13     facebook.com
2015-11-15     google.com
...

我想要这种格式的输出:

year        count of distinct websites
---         ---
2015        2
...

我能够使用以下方法获得每年的网站总数,包括重复项:

import pandas as pd
import numpy as np

data = pd.read_csv(file_path)
groupby = data.groupby(pd.to_datetime(data['dateObs']).dt.year).agg({'website':np.size})

如何丢弃计数中的重复项?

2 个答案:

答案 0 :(得分:3)

只需使用.nunique()

data.groupby(pd.to_datetime(data['dateObs']).dt.year).nunique()

答案 1 :(得分:0)

检查是否可以从直接交叉列表中获得所需的内容。

http://pandas.pydata.org//pandas-docs//version//0.17.0//generated//pandas.crosstab.html

使用概述的技术在数据框中创建年份列,然后使用年份和网站列进行交叉表。