[英]pandas: How to groupby and show count of unique values
我有以下格式的数据:
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})
如何丢弃计数中的重复项?
只需使用.nunique()
:
data.groupby(pd.to_datetime(data['dateObs']).dt.year).nunique()
检查是否可以从直接交叉列表中获得所需的内容。
http://pandas.pydata.org//pandas-docs//version//0.17.0//generated//pandas.crosstab.html
使用概述的技术在数据框中创建年份列,然后使用年份和网站列进行交叉表设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.