Python 使用ggplot从数据帧绘制不规则时间序列(多个)

Python 使用ggplot从数据帧绘制不规则时间序列(多个),python,pandas,plot,time-series,python-ggplot,Python,Pandas,Plot,Time Series,Python Ggplot,我的df结构如下: UnitNo Time Sensor 0 1.0 2016-07-20 18:34:44 19.0 1 1.0 2016-07-20 19:27:39 19.0 2 3.0 2016-07-20 20:45:39 17.0 3 3.0 2016-07-20 23:05:29 17.0 4 3.0 2016-07-21 01:23:30 11.0 5 2.0 2

我的df结构如下:

   UnitNo        Time           Sensor
0   1.0   2016-07-20 18:34:44    19.0
1   1.0   2016-07-20 19:27:39    19.0
2   3.0   2016-07-20 20:45:39    17.0
3   3.0   2016-07-20 23:05:29    17.0
4   3.0   2016-07-21 01:23:30    11.0
5   2.0   2016-07-21 04:23:59    11.0
6   2.0   2016-07-21 17:33:29    2.0
7   2.0   2016-07-21 18:55:04    2.0
我想创建一个时间序列图,其中每个
UnitNo
都有自己的线(颜色),y轴值对应于
Sensor
,x轴是
time
。我想在
ggplot
中这样做,但我很难找到有效的方法。我已经看过前面的例子,但它们都有规则的时间序列,即每个变量的观测值在同一时间发生,这使得创建时间索引变得很容易。我想我可以循环并向plot(?)添加数据,但我想知道是否有更有效/更优雅的方法。

我认为您需要或和:

或:

如果有重复项:

df = df.groupby(['Time', 'UnitNo'])['Sensor'].mean().unstack().plot()
df = df.pivot_table(index='Time', columns='UnitNo',values='Sensor', aggfunc='mean').plot()
我认为您需要或需要:

或:

如果有重复项:

df = df.groupby(['Time', 'UnitNo'])['Sensor'].mean().unstack().plot()
df = df.pivot_table(index='Time', columns='UnitNo',values='Sensor', aggfunc='mean').plot()


谢谢你,皮尔斯。你似乎每天都在帮我!我是Matlab的转化者,python/pandas需要一些时间来适应,所以你可能会看到我更多:-)Hello@jtam很高兴我能帮上忙。我们很幸运有几个非常好的人回答熊猫的问题。。。耶斯雷尔显然是其中之一:-)谢谢你。你似乎每天都在帮我!我是Matlab的转化者,python/pandas需要一些时间来适应,所以你可能会看到我更多:-)Hello@jtam很高兴我能帮上忙。我们很幸运有几个非常好的人回答熊猫的问题。。。耶斯雷尔显然是他们中的一员:-)谢谢你,耶斯雷尔!我更喜欢piR的回答,因为我对
groupby
命令比
pivot
unstack
命令更熟悉。但是,我很快就要仔细看看了。没问题,很明显,一个问题就是多个好答案。祝你好运谢谢你,耶斯雷尔!我更喜欢piR的回答,因为我对
groupby
命令比
pivot
unstack
命令更熟悉。但是,我很快就要仔细看看了。没问题,很明显,一个问题就是多个好答案。祝你好运
df = df.groupby(['Time', 'UnitNo'])['Sensor'].mean().unstack().plot()
df = df.pivot_table(index='Time', columns='UnitNo',values='Sensor', aggfunc='mean').plot()
df.set_index('Time').groupby('UnitNo').Sensor.plot();