2019 pandas 用户调查 #

Pandas 最近进行了一项用户调查,以帮助指导未来的开发。感谢所有参与者!本帖将呈现高层次的结果。

该分析和原始数据可以在 GitHub 上找到,并可在 Binder 上运行

Binder

在我们运行调查的 15 天(2019 年夏天)里,我们收到了大约 1250 份回复。

关于受访者 #

在 pandas 的使用经验和频率方面,受访者群体相当多样化,尽管大多数受访者是经验更丰富的那部分。

png

png

我们包含了一些在 Python 开发者调查中也问过的问题,以便将 Pandas 的用户群体与 Python 的用户群体进行比较。

90% 的受访者将 Python 作为主要语言(相比之下,PSF 调查中有 84%)。

Yes    90.67%
No      9.33%
Name: Is Python your main language?, dtype: object

Windows 用户占有相当大的比例(参见 Steve Dower 关于此主题的 演讲)。

Linux      61.57%
Windows    60.21%
MacOS      42.75%
Name: What Operating Systems do you use?, dtype: object

在环境隔离方面,conda 是最受欢迎的。

png

大多数受访者仅使用 Python 3。

3        92.39%
2 & 3     6.80%
2         0.81%
Name: Python 2 or 3?, dtype: object

Pandas API #

对于开源项目来说,很难知道哪些功能实际上被使用了。我们问了一些问题来了解情况。

CSV 和 Excel 是(无论好坏)最受欢迎的格式。

png

在准备对 pandas 内部进行可能的重构时,我们想了解一下包含数百列甚至更多列的宽(wide)DataFrame 有多普遍。

png

Pandas 正在缓慢地增长新的扩展类型。分类(Categoricals)是最受欢迎的,而可为空的整数类型(nullable integer type)已经和带时区的 datetime 类型一样受欢迎了。

png

更多的、更好的示例似乎是一个高优先级的开发项。Pandas 最近获得了一笔 NumFOCUS 资助,用于改进我们的文档,我们正利用这笔资助编写教程风格的文档,这应该有助于满足这一需求。

png

我们还询问了具体、常用请求的功能。

png

其中,最突出的问题是“扩展”到大型数据集。有几点观察

  1. 或许 pandas 的文档应该更好地推广提供可扩展 DataFrame 的库(例如 Daskvaexmodin
  2. 内存效率(可能来自原生的字符串数据类型、更少的内部复制等)是一个有价值的目标。

在此之后,下一个最关键的改进是整数缺失值。这些实际上是在 Pandas 0.24 中添加的,但它们不是默认的,并且仍然与 pandas API 的其余部分存在一些不兼容性。

Pandas 是一个比 NumPy 更不保守的库。我们正接近 1.0 版本,但在这一过程中,我们做了许多弃用,以及一些完全打破 API 的更改。幸运的是,大多数人都接受这种权衡。

Yes    94.89%
No      5.11%
Name: Is Pandas stable enough for you?, dtype: object

存在一种看法(许多 pandas 维护者也持有这种看法),即 pandas 的 API 太大了。为了衡量这一点,我们询问了用户是否认为 pandas 的 API 太大、太小,还是刚刚好。

png

最后,我们询问了用户对该库的整体满意度,从 1(非常不满意)到 5(非常满意)。

png

大多数人非常满意。平均回复是 4.39。我期待着追踪这个数字。

如果您正在分析原始数据,请务必与我们分享结果 @pandas_dev