【问题标题】:How to explode a struct index in pandas series如何在熊猫系列中爆炸结构索引
【发布时间】:2022-10-05 22:32:58
【问题描述】:

我有一个熊猫系列,其中索引是 StructType。我想将此索引分解为结构字段。

index value
(2005-07-03, beta0) 0.997160
(2005-07-03, beta1) 0.037629
(2005-07-03, beta2) 0.037629
(2005-07-03, tau) 2.000000
(2011-11-13, beta0) 0.997160

这里的索引是结构类型键: struct<checkin_week:date,parameter:string>

我需要将其分解为两列,以便有一列用于 checkin_week,另一列用于参数。

【问题讨论】:

  • 在您的问题中复制粘贴您的系列的一部分
  • 该系列已经复制粘贴在@khaledkoubaa 上方
  • 是图片,需要是文字格式
  • @khaledkoubaa:我将其更改为文本格式。不知道为什么回答这个问题如此重要。你能解释一下吗?
  • 您需要将此(2005-07-03, beta0) 拆分为2005-07-032005-07-03?我的意思是分成两列

标签: pandas struct series multi-index explode


【解决方案1】:

以下将为您提供DataFrameMultiIndex,其中checkin_weekparameter 将是单独的级别。

import pandas as pd

df = pd.DataFrame(
    data=(
        0.997160,
        0.037629,
        0.037629,
        2.000000,
        0.997160,
    ),
    index=(
        ("2005-07-03", "beta0"),
        ("2005-07-03", "beta1"),
        ("2005-07-03", "beta2"),
        ("2005-07-03", "tau"),
        ("2011-11-13", "beta0"),
    ),
)

df.index = pd.MultiIndex.from_tuples(df.index)

如果您希望它们成为单独的列(而不是索引),您应该首先重置您的 DataFrame 的索引:

df = df.reset_index(drop=False)

然后按照this question的回答

【讨论】:

    猜你喜欢
    • 2018-06-20
    • 2019-01-15
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2021-04-06
    • 2019-12-20
    相关资源
    最近更新 更多