我有类似的数据框
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/