我试图在 matplotlib 中绘制一系列日落时间,但出现以下错误:“TypeError: Empty 'DataFrame': no numeric data toplot”
我已经查看了几个要转换的选项,例如 plt.dates.date2num 但这并不能真正满足我的需求,因为我想以可读格式(即时间)绘制它。我发现的所有示例在 x 轴上都有时间,但在 y 轴上没有时间。
难道就没有办法完成这个任务吗?有人有主意吗?
我非常期待您的回复。最好的问候,阿恩
3 Jan 2013 16:44:00
4 Jan 2013 16:45:00
5 Jan 2013 16:46:00
6 Jan 2013 16:47:00
7 Jan 2013 16:48:00
8 Jan 2013 16:49:00
9 Jan 2013 16:51:00
10 Jan 2013 16:52:00
11 Jan 2013 16:53:00
12 Jan 2013 16:55:00
13 Jan 2013 16:56:00
14 Jan 2013 16:57:00
Run Code Online (Sandbox Code Playgroud) 看起来很简单:
我正在尝试合并2个字典而不覆盖值,但要追加。
a = {1: [(1,1)],2: [(2,2),(3,3)],3: [(4,4)]}
b = {3: [(5,5)], 4: [(6,6)]}
Run Code Online (Sandbox Code Playgroud)
元组数a = 4,元组数b = 2
这就是为什么我会选择这些选项,因为它们被覆盖了:
all = dict(a.items() + b.items())
all = dict(a, **b)
all = a.update([b])
Run Code Online (Sandbox Code Playgroud)
以下解决方案可以正常工作,但也可以将值附加到我的原始字典a中:
all = {}
for k in a.keys():
if k in all:
all[k].append(a[k])
else:
all[k] = a[k]
for k in b.keys():
if k in all:
all[k].append(b[k])
else:
all[k] = b[k]
Run Code Online (Sandbox Code Playgroud)
输出=
a = {1: [(1, 1)], 2: [(2, 2), (3, 3)], 3: [(4, 4), **[(5, 5)]**]}
b = …Run Code Online (Sandbox Code Playgroud)