python - 为什么 Pandas 将 DataFrame 的一行(或列)转换为一系列?

标签 python pandas performance

上下文:我正在传递我认为是 DataFrame 的内容,df.iloc[n] ,变成一个函数。感谢dialogue here我发现这会导致错误,因为 Pandas 自动将 Dataframe 中的单行或列转换为一系列,并且可以通过使用 df.iloc[[n]] 轻松解决。而不是df.iloc[n] .

问题:我的问题是为什么 Pandas 这样做?使用 Series 代替 DataFrame 是否有一些性能优势?自动转换为系列背后的原因是什么?

最佳答案

根据 Pandas 文档 Why more than one data structure?

考虑 pandas 数据结构的最佳方式是将其作为低维数据的灵活容器。例如,DataFrame是Series的容器,Series是标量的容器。我们希望能够以类似字典的方式在这些容器中插入和删除对象。

因此,这里没有发生转换,而是检索具有不同属性/方法的对象。

关于python - 为什么 Pandas 将 DataFrame 的一行(或列)转换为一系列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67404928/

相关文章:

python - 从字典 python 中删除 'Counter'

python - 缓慢的 celery 任务时间

python - sympy.Matrix哈希值差异

python - 将几乎没有或没有异常的名称聚类/分组到 Pandas 中的聚类中

python - Beatbox:拉取SFDC数据时可以添加查询条件吗?

python - 根据 pandas 中的两个特征计算日期特征

performance - 这种 Big-Theta 符号的概括是否正确?

linux - 如何在 Linux 上使用 Vtune Analyzer API

python - 在 Python 中多重处理文件,然后将结果写入磁盘

mysql - 什么是 MySQL 主键(key1、key2)