python - 如何使用 python pandas 库改变数据

标签 python pandas data-analysis

我有类似的数据框

import pandas as pd

x = [
    {
        "timestamp" :1576019484523,
        "status": "1"
    },
    {
        "timestamp" :1576019496337,
        "status": "0"
    },
    {
        "timestamp" :1576019548740,
        "status": "1"
    },
    {
        "timestamp" :1576020996586,
        "status": "0"
    }
]

data_frame = pd.DataFrame(x)

DataFrame
0  1576019484523      1
1  1576019496337      0
2  1576019548740      1
3  1576020996586      0

我想像这样转换这些数据:

[
    {
        "range" :"1576019484523 - 1576019496337",
        "status": "1"
    },
    {
        "range" : "1576019496337 - 1576019548740",
        "status": "0"
    },
    {
        "range" :"1576019548740 - 1576020996586",
        "status": "1"
    }
]

如果项目数量是奇数,我不知道如何解决这个问题。如果 pandas 中有任何我想知道的函数或任何对我在 python 中有帮助的函数

[t0-t1] status 0
[t1-t2] status 1
[t2-t3] status 0
[t3-t4] status 1

最佳答案

您可以在不需要 pandas 的情况下使用 - 使用 list comprehension :

[{'range': f"{i['timestamp']} - {j['timestamp']}", 'status': i['status']}
  for i, j in zip(x, x[1:])]

[输出]

[{'range': '1576019484523 - 1576019496337', 'status': '1'},
 {'range': '1576019496337 - 1576019548740', 'status': '0'},
 {'range': '1576019548740 - 1576020996586', 'status': '1'}]

关于python - 如何使用 python pandas 库改变数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59285311/

相关文章:

python - Jenkins : how to print the contents of a text file to the build log?

python - 使用Python需要将数据从多列转换为单列并重复A列

python - Pandas groupby : divide last in group by first in group

mysql - 将具有相同列的不同 MySQL 表上的数据组合并合并为唯一行并对其运行查询

pandas - 用 Pandas 进行数据分析

python - 对齐水平堆积条形图中的值标签 (Matplotlib)

python - 使用 pandas 和 sqldf 没有这样的表错误

python - 如何将数据框转换为工作表(Python 3.8)?

python - 在 pandas 数据框中查找行,其中不同的行在存储列表的列的列表中具有公共(public)值

python - 获取数据框中值的组合并实现一个函数