python - 如何将 Pandas 中的单个时间序列转换为多个序列

标签 python python-3.x pandas dataframe

我有一个如下所示的 Pandas DataFrame

<表类="s-表"> <头> 时间戳 指标 标签 值 <正文> 12345 中央处理器 [地区=美国, az=az1] 1 12345 中央处理器 [地区=欧盟, az=az2] 2 12355 中央处理器 [地区=美国, az=az1] 3 12355 中央处理器 [地区=欧盟, az=az2] 4

我想为每个标签组合构建一个时间序列。所以我要找的结果是

<表类="s-表"> <头> 时间戳 指标 [地区=美国,az=az1] [地区=eu, az=az2] <正文> 12345 中央处理器 1 2 12355 中央处理器 3 4

我是 Pandas 的新手,有人可以为我提供一些关于如何到达那里的指示。谢谢。

最佳答案

试试 .pivot:

print(
    df.pivot(["timestamp", "metric"], "labels", "value")
    .reset_index()
    .rename_axis("", axis=1)
)

打印:

   timestamp metric  [region=eu, az=az2]  [region=usa, az=az1]
0      12345    cpu                    2                     1
1      12355    cpu                    4                     3

编辑:如果您在 labels 列中的值属于 list 类型:

df["labels"] = df["labels"].astype(str)

print(
    df.pivot(["timestamp", "metric"], "labels", "value")
    .reset_index()
    .rename_axis("", axis=1)
)

关于python - 如何将 Pandas 中的单个时间序列转换为多个序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68439365/

相关文章:

python - "How to show the value of differences between two line' 线图中的数据点?”

python - 将 JSON 转换为 python 数据帧

python - 在 python pandas 中创建数据透视表后基于 "rows"数据进行过滤

c# - 如何将 Python 代码与 C#.Net Core 语言集成?

python - 你如何在 Python 中表达二进制文字?

python - Hackerrank.com 井字游戏挑战

python - 无法让我的计数函数在 Python 中运行

python-3.x - Python 3 使用字典的登录程序

python - 如何将 Django 表单嵌入到我的 CSS 设计中?

python - 如何减少 C API 和 Python 可执行文件之间的执行时间差异?