2019 pandas 用户调查 #
Pandas 最近进行了一项用户调查,以帮助指导未来的开发。感谢所有参与者!本帖将呈现高层次的结果。
该分析和原始数据可以在 GitHub 上找到,并可在 Binder 上运行
在我们运行调查的 15 天(2019 年夏天)里,我们收到了大约 1250 份回复。
关于受访者 #
在 pandas 的使用经验和频率方面,受访者群体相当多样化,尽管大多数受访者是经验更丰富的那部分。


我们包含了一些在 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 是最受欢迎的。

大多数受访者仅使用 Python 3。
3 92.39%
2 & 3 6.80%
2 0.81%
Name: Python 2 or 3?, dtype: object
Pandas API #
对于开源项目来说,很难知道哪些功能实际上被使用了。我们问了一些问题来了解情况。
CSV 和 Excel 是(无论好坏)最受欢迎的格式。

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

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

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

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

其中,最突出的问题是“扩展”到大型数据集。有几点观察
- 或许 pandas 的文档应该更好地推广提供可扩展 DataFrame 的库(例如 Dask、vaex 和 modin)
- 内存效率(可能来自原生的字符串数据类型、更少的内部复制等)是一个有价值的目标。
在此之后,下一个最关键的改进是整数缺失值。这些实际上是在 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 太大、太小,还是刚刚好。

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

大多数人非常满意。平均回复是 4.39。我期待着追踪这个数字。
如果您正在分析原始数据,请务必与我们分享结果 @pandas_dev。