我试图绘制一个时间序列图的所有唯一的关键字在我的数据集,下面是我的数据集,我有7个唯一的关键字,我试图绘制事件_日期的x轴和线图计数的y轴。
我循环通过每个唯一的关键,并试图绘制日期与计数,但低于错误。基于错误,我无法理解为什么形状为y是(1,0)
import matplotlib.pyplot as plt
import pandas as pd
df_pandas = df.toPandas()
df_pandas.event_date = pd.to_datetime(df_pandas.event_date) # converting object to pandas datetime
colors = ['r', 'g', 'b', 'y', 'k', 'c', 'm']
for i, k in enumerate(df_pandas.key.unique()):
plt.plot(df_pandas[df_pandas.key == k].event_date, df_pandas[df_pandas.key == k].count, '-o', label=k, c=colors[i])
plt.gcf().autofmt_xdate() ## Rotate X-axis so you can see dates clearly without overlap
plt.legend() ## Show legend
Traceback (most recent call last):
File "/tmp/1697561012681-0/zeppelin_python.py", line 153, in <module>
exec(code, _zcUserQueryNameSpace)
File "<stdin>", line 13, in <module>
File "/usr/local/lib64/python3.7/site-packages/matplotlib/pyplot.py", line 2813, in plot
is not None else {}), **kwargs)
File "/usr/local/lib64/python3.7/site-packages/matplotlib/__init__.py", line 1805, in inner
return func(ax, *args, **kwargs)
File "/usr/local/lib64/python3.7/site-packages/matplotlib/axes/_axes.py", line 1603, in plot
for line in self._get_lines(*args, **kwargs):
File "/usr/local/lib64/python3.7/site-packages/matplotlib/axes/_base.py", line 393, in _grab_next_args
yield from self._plot_args(this, kwargs)
File "/usr/local/lib64/python3.7/site-packages/matplotlib/axes/_base.py", line 370, in _plot_args
x, y = self._xy_from_xy(x, y)
File "/usr/local/lib64/python3.7/site-packages/matplotlib/axes/_base.py", line 231, in _xy_from_xy
"have shapes {} and {}".format(x.shape, y.shape))
ValueError: x and y must have same first dimension, but have shapes (21,) and (1,)
event_date key count
7/23/23 0:00 389628-135052 74858
7/28/23 0:00 389628-135052 75139
7/12/23 0:00 389631-135055 60910
7/18/23 0:00 389632-135056 68850
7/26/23 0:00 389632-135056 33704
7/27/23 0:00 389630-135054 119679
7/20/23 0:00 389632-135056 71281
7/15/23 0:00 389632-135056 68854
7/23/23 0:00 389634-135058 69020
7/20/23 0:00 389629-135053 59536
7/21/23 0:00 389631-135055 71065
7/25/23 0:00 389629-135053 66887
7/15/23 0:00 389629-135053 66150
7/12/23 0:00 389633-135057 53096
7/14/23 0:00 389634-135058 62948
7/25/23 0:00 389628-135052 74872
7/15/23 0:00 389631-135055 73870
7/18/23 0:00 389631-135055 74548
7/17/23 0:00 389632-135056 68402
7/20/23 0:00 389633-135057 54665
7/15/23 0:00 389633-135057 64637
7/30/23 0:00 389630-135054 123113
7/21/23 0:00 389630-135054 67368
7/12/23 0:00 389632-135056 55618
7/19/23 0:00 389633-135057 70942
7/21/23 0:00 389633-135057 68221
7/18/23 0:00 389628-135052 76602
8/1/23 0:00 389631-135055 13252
7/17/23 0:00 389629-135053 64287
7/25/23 0:00 389634-135058 68104
7/17/23 0:00 389634-135058 66301
7/12/23 0:00 389628-135052 61841
7/18/23 0:00 389630-135054 71472
7/24/23 0:00 389629-135053 68495
7/30/23 0:00 389629-135053 122907
7/26/23 0:00 389630-135054 26650
7/30/23 0:00 389632-135056 134425
7/22/23 0:00 389634-135058 62225
7/18/23 0:00 389633-135057 61047
7/22/23 0:00 389633-135057 60926
7/18/23 0:00 389634-135058 67725
7/16/23 0:00 389633-135057 64254
7/14/23 0:00 389633-135057 61383
7/24/23 0:00 389633-135057 66471
7/16/23 0:00 389629-135053 66548
7/19/23 0:00 389628-135052 75846
7/17/23 0:00 389631-135055 73452
7/13/23 0:00 389631-135055 82725
7/31/23 0:00 389634-135058 41786
7/26/23 0:00 389629-135053 68862
8/1/23 0:00 389633-135057 12333
7/21/23 0:00 389628-135052 72381
7/30/23 0:00 389628-135052 77991
7/19/23 0:00 389630-135054 68765
8/1/23 0:00 389630-135054 12798
7/21/23 0:00 389632-135056 66499
7/29/23 0:00 389633-135057 16644
7/20/23 0:00 389631-135055 74593
7/24/23 0:00 389630-135054 72015
7/27/23 0:00 389632-135056 98245
7/31/23 0:00 389630-135054 56117
7/22/23 0:00 389629-135053 62669
7/23/23 0:00 389631-135055 74936
7/25/23 0:00 389632-135056 69935
7/29/23 0:00 389630-135054 23579
7/13/23 0:00 389632-135056 71917
7/13/23 0:00 389633-135057 67979
7/19/23 0:00 389631-135055 74154
7/23/23 0:00 389632-135056 71347
7/27/23 0:00 389634-135058 57570
7/26/23 0:00 389633-135057 60073
7/17/23 0:00 389633-135057 66860
7/15/23 0:00 389628-135052 75962
7/29/23 0:00 389628-135052 69251
7/27/23 0:00 389631-135055 69051
7/28/23 0:00 389631-135055 74231
7/23/23 0:00 389633-135057 66237
7/30/23 0:00 389634-135058 130063
7/25/23 0:00 389631-135055 73097
7/31/23 0:00 389628-135052 75428
7/24/23 0:00 389634-135058 69958
7/13/23 0:00 389634-135058 72563
7/27/23 0:00 389629-135053 63235
8/1/23 0:00 389629-135053 12444
7/26/23 0:00 389628-135052 80514
7/14/23 0:00 389628-135052 72334
7/30/23 0:00 389631-135055 130862
7/29/23 0:00 389634-135058 21234
7/14/23 0:00 389629-135053 62070
7/30/23 0:00 389633-135057 117653
7/17/23 0:00 389628-135052 74903
7/24/23 0:00 389628-135052 76074
7/28/23 0:00 389630-135054 58201
7/25/23 0:00 389630-135054 70594
7/21/23 0:00 389629-135053 70020
7/20/23 0:00 389634-135058 59776
7/22/23 0:00 389631-135055 73678
7/19/23 0:00 389632-135056 68493
7/28/23 0:00 389632-135056 69294
7/29/23 0:00 389632-135056 16416
8/1/23 0:00 389634-135058 12202
7/16/23 0:00 389628-135052 74739
7/13/23 0:00 389628-135052 78198
7/16/23 0:00 389630-135054 70980
7/31/23 0:00 389632-135056 50267
7/26/23 0:00 389634-135058 77612
7/31/23 0:00 389631-135055 45171
7/22/23 0:00 389630-135054 70867
7/15/23 0:00 389634-135058 67374
7/31/23 0:00 389633-135057 50583
7/19/23 0:00 389629-135053 72029
7/22/23 0:00 389628-135052 75503
7/14/23 0:00 389632-135056 65704
7/12/23 0:00 389634-135058 54886
7/21/23 0:00 389634-135058 70547
7/16/23 0:00 389634-135058 68285
7/27/23 0:00 389628-135052 68078
7/17/23 0:00 389630-135054 70450
7/31/23 0:00 389629-135053 50228
7/28/23 0:00 389629-135053 65580
7/13/23 0:00 389629-135053 69155
7/23/23 0:00 389630-135054 70885
7/14/23 0:00 389630-135054 67892
7/19/23 0:00 389634-135058 73446
7/27/23 0:00 389633-135057 60125
7/28/23 0:00 389633-135057 64199
7/29/23 0:00 389631-135055 33164
7/16/23 0:00 389631-135055 73831
7/24/23 0:00 389632-135056 70333
7/16/23 0:00 389632-135056 68069
7/18/23 0:00 389629-135053 67103
7/24/23 0:00 389631-135055 73852
7/20/23 0:00 389630-135054 72357
7/15/23 0:00 389630-135054 70673
7/12/23 0:00 389630-135054 57477
7/29/23 0:00 389629-135053 18198
7/14/23 0:00 389631-135055 63845
8/1/23 0:00 389632-135056 12744
7/28/23 0:00 389634-135058 67665
7/25/23 0:00 389633-135057 68534
7/12/23 0:00 389629-135053 53612
8/1/23 0:00 389628-135052 12663
7/20/23 0:00 389628-135052 75662
7/26/23 0:00 389631-135055 75014
7/22/23 0:00 389632-135056 68687
7/13/23 0:00 389630-135054 72816
7/23/23 0:00 389629-135053 68272
1条答案
按热度按时间3zwtqj6y1#
.count
镜像pandas.Series.count
方法。如果列名镜像pandas
方法,则不能使用.
表示法。df[df.key == k]['count']
不是df[df.key == k].count
plt.plot
仍然会导致问题,如plot中所示。plt.plot
还需要对x
和y
相对于x
进行排序。sns.relplot
与kind='line'
一起使用,或者使用sns.lineplot
。figure
和Axes
,以将每个组重复绘图到其上。pandas.DataFrame.pivot
从长到宽的形状进行整形,并在不使用循环的情况下打印。pandas.DataFrame.pivot_table
聚合数据。DataFrame示例
dfp