上下文:我正在传递我认为是 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/