gpt4 book ai didi

python - 如何将带有日期索引和 int 值元组的 csv 文件转换为适合绘图的字典?

转载 作者:太空宇宙 更新时间:2023-11-04 11:15:19 25 4
gpt4 key购买 nike

这是 csv 数据的示例:

Timestamp,Systolic,Diastolic,Pulse
201711051037,135,81,62
201711061614,121,74,60
201711150922,129,74,70
201711170901,135,80,65

我正在使用 Python 3.6.8 和这个脚本来创建一个字典:

from csv import DictReader as dict_reader

d = dict()

with open(CSV_FILE, 'r') as csvfile:
reader = dict_reader(csvfile)
ts, sy, dia, p = next(reader)
for r in reader:
d[r[ts]] = int(r[sy]), int(r[dia]), int(r[p])

结果是:

{'201711051037': (135, 81, 62), '201711061614': (121, 74, 60), '201711150922': (129, 74, 70), '201711170901': (135, 80, 65 )}

我想将结果转换成可以与 Matplotlib 绘图一起使用的形式。可能是这样的:

Timestamp = [201711051037, 201711061614, 201711150922, 201711170901]
Systolic = [135, 121, 129, 135]
Diastolic = [81, 74, 74, 80]
Pulse = [62, 60, 70, 65]

为了使用 Matplotlib 创建线图并使用填充和其他功能,我认为数据需要位于单独的列表中。我尝试过不同的事情,例如:

index = list(d.keys())
data = list(d.values())
sy = [data[i][j] for i in data for j in data]

还查看了这些类似的问题:

Make dicts read from a csv file ordered dicts

Python matplotlib plot dict with multiple values

Plotting a dictionary with multiple values per key

然而,我卡在了这一点上。任何提示或指示将不胜感激。谢谢。

最佳答案

从您希望输出的内容开始:

Timestamp = [201711051037, 201711061614, 201711150922, 201711170901]
Systolic = [135, 121, 129, 135]
Diastolic = [81, 74, 74, 80]
Pulse = [62, 60, 70, 65]

您可以从:

Timestamp = [int(stamp) for stamp in d.keys()]
Systolic = [value[0] for value in d.values()]
Diastolic = [value[1] for value in d.values()]
Pulse = [value[2] for value in d.values()]

关于python - 如何将带有日期索引和 int 值元组的 csv 文件转换为适合绘图的字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57148196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com