我的数据格式如下:
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})
如何丢弃计数中的重复项?
答案 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
使用概述的技术在数据框中创建年份列,然后使用年份和网站列进行交叉表。