【问题标题】:How does one determine which columns to set as an index in a Pandas DataFrame?如何确定在 Pandas DataFrame 中将哪些列设置为索引?
【发布时间】:2017-05-05 23:42:24
【问题描述】:

假设我有一个金融证券的 DataFrame,它通常有多个标识符:

我应该只选择一列作为索引吗?我应该将所有潜在的标识符设置为索引吗?我应该将所有文本数据设置为索引,并将所有数字数据保留为列吗?最佳做法是什么?

【问题讨论】:

  • 在我看来,通常最好的是默认单调索引 (0,1,2,3,...),但这取决于您到底需要什么。更好的是作为重复的唯一索引。
  • 删除重复项,然后使用默认单调索引
  • 这完全取决于您要完成的工作。
  • 在此示例中,所有标识符都已经是唯一的。此表中的任何文本列都没有重复项。
  • 如果您打算稍后进行排序、连接或过滤,使用整数索引通常会更高效一些。你可以试试这个比较。 gist.github.com/prashnts/e61b49bcc424fb042677eb1eff3edf51

标签: python pandas indexing dataframe


【解决方案1】:

这更多是关于数据库设计而不是 pandas。

应根据数据框(关系数据库中的表)及其列的业务含义做出决定。例如,如果在其业务中使用“内部安全ID”来识别此类数据,则应将其设置为索引。

但是,如果您不确定,请坚持使用默认整数索引。

【讨论】:

    【解决方案2】:

    除非您需要将其中一列作为索引,否则我倾向于坚持使用默认索引。如果你这样做,我强烈建议使用具有唯一值的列。如果存在重复,这会让你很头疼。

    【讨论】:

      猜你喜欢
      • 2019-05-01
      • 2021-10-02
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      • 2021-10-26
      • 2018-06-05
      • 2020-08-22
      • 2022-08-19
      相关资源
      最近更新 更多