【发布时间】:2018-04-22 05:12:28
【问题描述】:
我的目的是绘制大型数据集中每个位置 (ID) 的测量数据(var1、var2、Timestamp)。我的数据:
ID var1 var2 TimeStamp
AA 2 5 8/8/2010 0:00
AA 2.5 5 1/1/2010 0:00
B7 1.1 7 1/9/2010 0:00
B7 2 6 1/8/2010 0:00
B7 3 7 1/1/2010 0:00
B7 3 6 1/9/2010 0:00
C0 4 7 1/8/1900 0:00
...
但是,如图所示,每个位置 ID 的数据(或行)数各不相同(通常在 3-30 之间变化) 要为每个位置绘制变量,我不确定如何进行: 从我目前所经历的情况来看,类似于以下内容:
np.array(data).reshape(500,20,15)
通过原始数据的 np.reshape 创建一个 numpy ndarray 不会让我将数组划分为单独的位置,因为数据的形状不规则。随后,使用 Pands groupby:
data_df.groupby('ID').plot('var1','var2')
立即为每个位置 ID 绘制 var1、var2 的图表,但没有机会迭代每个图表以创建标签/轴/限制等设置。(我还不知道如何迭代 pandas groupby 对象来创建和管理单个地块)
tldr:
有什么好方法可以根据标准(针对每个 ID)从不规则形状的数据(如上所示)创建np.ndarray?
有什么方法可以迭代和控制 pandas dataframe.groupby 对象以绘制(不只是谈论汇总的平均值/最小值/最大值等)变量?
【问题讨论】:
-
始终提供问题的minimal reproducible example,以确保人们能够重现您的意思并编写适合需求的答案。
标签: python pandas numpy matplotlib pandas-groupby