数据可视化如何改进决策

每月使用 Conda 下载数亿个 Python 包。因此,我们很高兴宣布发布 condastats,这是一个带有 Python 接口和命令行界面的 conda 统计 API。现在任何人都可以使用此工具来研究 Conda 包的使用统计信息。该项目的灵感来自 pypistats,这是一个用于检索 PyPI 包统计信息的 Python 客户端和 CLI。
自 2019 年 5 月以来,我们发布了所有 Conda 包、conda-forge 频道和一些其他频道的每小时汇总下载数据。数据集从 2017 年 1 月开始,每月上传一次。Condastats 构建于此 公共 Anaconda 包数据 之上,并返回每月包下载统计信息。
condastats
在 conda-forge
上发布。要安装 condastats,请在您的终端中运行此命令:conda install -c conda-forge condastats
condastats 命令中有五个子命令:overall、pkg_platform、data_source、pkg_version 和 pkg_python。在终端中运行 condastats --help
或在 Jupyter Notebook 中运行 !condastats --help
以查看所有子命令
!condastats --help
usage: condastats [-h] {overall,pkg_platform,data_source,pkg_version,pkg_python} ... positional arguments: {overall,pkg_platform,data_source,pkg_version,pkg_python} optional arguments: -h, --help show this help message and exit
condastats overall
返回一个或多个包在特定月份以及指定包平台、Python 版本、包版本和数据源的总体下载统计信息。在终端中运行 condastats overall --help
或在 Jupyter Notebook 中运行 !condastats overall --help
以了解详细信息
details
!condastats overall --help
usage: condastats overall [-h] [--month MONTH] [--start_month START_MONTH] [--end_month END_MONTH] [--monthly] [--pkg_platform PKG_PLATFORM] [--pkg_python PKG_PYTHON] [--pkg_version PKG_VERSION] [--data_source DATA_SOURCE] package [package ...] positional arguments: package package name(s) optional arguments: -h, --help show this help message and exit --month MONTH month - YYYY-MM (defalt: None) --start_month START_MONTH start month - YYYY-MM (defalt: None) --end_month END_MONTH end month - YYYY-MM (defalt: None) --monthly return monthly values (defalt: False) --pkg_platform PKG_PLATFORM package platform e.g., win-64, linux-32, osx-64. (defalt: None) --pkg_python PKG_PYTHON Python version e.g., 3.7 (defalt: None) --pkg_version PKG_VERSION Python version e.g., 0.1.0 (defalt: None) --data_source DATA_SOURCE Data source e.g., anaconda, conda-forge (defalt: None)
唯一必需的参数是 package
,它可以是一个或多个包。当仅给出包名称时,它将返回所有可用 Anaconda 公共数据集 的包总下载量,时间范围从 2017 年到上个月末。这里我们展示了一个包(例如,pandas)和多个包(例如,pandas、dask 和 numpy)的包总下载统计信息。
In [3]
!condastats overall pandas
pkg_name pandas 24086379 Name: counts, dtype: int64
!condastats overall pandas dask numpy
pkg_name dask 7958854 numpy 53752580 pandas 24086379 Name: counts, dtype: int64
我们还可以获取指定月份、包平台、数据源、包版本和 Python 版本的包下载统计信息
!condastats overall pandas --month 2019-01 --pkg_platform linux-32 --data_source anaconda \
--pkg_version 0.10.0 --pkg_python 2.6
pkg_name pandas 12 Name: counts, dtype: int64
最后,当我们传入 monthly
参数时,我们将获得每月的值。
!condastats overall pandas --start_month 2019-01 --end_month 2019-03 --monthly
pkg_name time pandas 2019-01 932443.0 2019-02 1049595.0 2019-03 1268802.0 Name: counts, dtype: float64
其他四个子命令具有类似的功能
condastats pkg_platform
按包平台返回包下载计数。condastats data_source
按数据源返回包下载计数。condastats pkg_version
按包版本返回包下载计数。condastats pkg_python
按 Python 版本返回包下载计数。这四个子命令的参数和可选参数是相同的。让我们看一下 condastats pkg_platform --help
和 condastats data_source --help
!condastats pkg_platform --help
usage: condastats pkg_platform [-h] [--month MONTH] [--start_month START_MONTH] [--end_month END_MONTH] [--monthly] package [package ...] positional arguments: package package name(s) optional arguments: -h, --help show this help message and exit --month MONTH month - YYYY-MM (defalt: None) --start_month START_MONTH start month - YYYY-MM (defalt: None) --end_month END_MONTH end month - YYYY-MM (defalt: None) --monthly return monthly values (defalt: False)
!condastats data_source --help
usage: condastats data_source [-h] [--month MONTH] [--start_month START_MONTH] [--end_month END_MONTH] [--monthly] package [package ...] positional arguments: package package name(s) optional arguments: -h, --help show this help message and exit --month MONTH month - YYYY-MM (defalt: None) --start_month START_MONTH start month - YYYY-MM (defalt: None) --end_month END_MONTH end month - YYYY-MM (defalt: None) --monthly return monthly values (defalt: False)
与 condastats overall
相同,我们可以指定一个月,或者提供我们感兴趣的时间段的开始月份和结束月份。例如,我们可以查看 pandas 在特定月份的每个 Python 版本的包下载计数。
!condastats pkg_python pandas --month 2019-01
pkg_name pkg_python pandas 2.6 1466.0 2.7 247949.0 3.3 1119.0 3.4 9251.0 3.5 104445.0 3.6 468838.0 3.7 99375.0 Name: counts, dtype: float64
我们可以使用 monthly
标志查看每个 Python 版本的每月计数。
!condastats pkg_python pandas --start_month 2019-01 --end_month 2019-02 --monthly
pkg_name time pkg_python pandas 2019-01 2.6 1466.0 2.7 247949.0 3.3 1119.0 3.4 9251.0 3.5 104445.0 3.6 468838.0 3.7 99375.0 2019-02 2.6 1542.0 2.7 242518.0 3.3 1227.0 3.4 8134.0 3.5 83393.0 3.6 541670.0 3.7 171111.0 Name: counts, dtype: float64
要使用 Python 接口,我们需要通过运行以下命令从 condastats
包中导入函数
from condastats.cli import overall, pkg_platform, pkg_version, pkg_python, data_source
以下是这五个函数的函数签名
help (overall)
Help on function overall in module condastats.cli: overall(package, month=None, start_month=None, end_month=None, monthly=False, pkg_platform=None, data_source=None, pkg_version=None, pkg_python=None)
help(pkg_platform)
Help on function pkg_platform in module condastats.cli: pkg_platform(package, month=None, start_month=None, end_month=None, monthly=False)
help(pkg_version)
Help on function pkg_version in module condastats.cli: pkg_version(package, month=None, start_month=None, end_month=None, monthly=False)
help(pkg_python)
Help on function pkg_python in module condastats.cli: pkg_python(package, month=None, start_month=None, end_month=None, monthly=False)
help(data_source)
Help on function data_source in module condastats.cli: data_source(package, month=None, start_month=None, end_month=None, monthly=False)
与命令行界面类似,我们可以获得自 2017 年以来所有可用数据的包总下载计数,对于给定月份或给定规格组合
overall(['pandas','dask'])
pkg_name dask 7958854 pandas 24086379 Name: counts, dtype: int64
overall(['pandas','dask'], month='2019-01')
pkg_name dask 221200 pandas 932443 Name: counts, dtype: int64
overall('pandas',month='2019-01', pkg_platform='linux-32',data_source='anaconda',pkg_version='0.10.0',pkg_python=2.6)
pkg_name pandas 12 Name: counts, dtype: int64
同样,pkg_platform、pkg_version、pkg_python 和 data_source 函数将为我们提供给定包的每个包平台、包版本、Python 版本和数据源的包计数。以下是 pkg_python 的两个示例
pkg_python('pandas', month='2019-01')
pkg_name pkg_python pandas 2.6 1466.0 2.7 247949.0 3.3 1119.0 3.4 9251.0 3.5 104445.0 3.6 468838.0 3.7 99375.0 Name: counts, dtype: float64
pkg_python('pandas', start_month='2019-01', end_month='2019-02', monthly=True)
pkg_name time pkg_python pandas 2019-01 2.6 1466.0 2.7 247949.0 3.3 1119.0 3.4 9251.0 3.5 104445.0 3.6 468838.0 3.7 99375.0 2019-02 2.6 1542.0 2.7 242518.0 3.3 1227.0 3.4 8134.0 3.5 83393.0 3.6 541670.0 3.7 171111.0 Name: counts, dtype: float64
我们希望您发现 condastats
有用!如果您有任何请求或问题,请打开 一个 issue 或 一个 pull request。如果您对 Anaconda 公共数据集有任何疑问,请查看 https://github.com/ContinuumIO/anaconda-package-data 并在那里打开一个 issue。