【问题标题】:How to slice a python pandas dataframe with 1200 rows into 12 equal parts? [duplicate]如何将具有 1200 行的 python pandas 数据帧分成 12 个相等的部分? [复制]
【发布时间】:2017-05-28 11:00:02
【问题描述】:

如何将具有 1200 行的 python pandas 数据帧分成 12 个相等的部分?在 Python2 或 Python 3 中

【问题讨论】:

  • 使用np.array_split(df, 100)
  • 把 100 改成 12,试试这个np.array_split(df, 12)
  • 喜欢这个评论线程:)
  • 也喜欢这个评论主题:)

标签: python python-3.x pandas python-2.x


【解决方案1】:

您可以通过多种方式进行操作。我会使用groupby 和字典理解。即便如此,也有两种明显且截然不同的分割方式。

考虑数据框df

df = pd.DataFrame(dict(A=np.arange(1200)))

连续
意思是,抢前 100 个,然后是下一个,依此类推

twelve_equal_dfs_contiguous = \
    {name: group for name, group in df.groupby(np.arange(1200) // 100)}

分层
意思是,从第一个开始每隔 100 个。然后从第二个开始重复,以此类推

twelve_equal_dfs_stratified = \
    {name: group for name, group in df.groupby(np.arange(1200) % 100)}

有太多方法可以做到这一点。希望这是一些关于从哪里开始的指导。

【讨论】:

    猜你喜欢
    • 2019-05-06
    • 2018-03-03
    • 2016-02-28
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 2021-07-09
    • 2020-09-22
    相关资源
    最近更新 更多