我有一张Pandas DataFrame的表格
每个ID每年(2008-2015)有一行。对于Max Temp
、Min Temp
和Rain
列,每个单元格都包含与当年某一天相对应的值数组,即上述帧的值
frame3.iloc[0]['Max Temp'][0]
是2011年1月1日的值frame3.iloc[0]['Max Temp'][364]
是2011年12月31日的值。我知道这是一个糟糕的结构,但这是我必须处理的数据。它以这种方式存储在MongoDB中(其中一行相当于Mongo中的文档)。
我想拆分这些嵌套数组,这样就不用每年每个ID一行,而是每天每个ID一行。不过,在拆分数组的同时,我还希望创建一个新列,以根据当前数组索引捕获一年中的某一天。然后我将使用这一天,加上Year
列来创建DatetimeIndex
我在这里搜索了相关的答案,但只找到了this one这对我没什么帮助。
您可以为每个列运行
.apply(pd.Series)
,然后stack
并连接结果。一个系列
它的工作原理如下
这个系列的元素有不同的长度(这很重要,因为2012年是闰年)。中间序列,即在
stack
之前,有一个NaN
值,后来被删除。现在,我们来拍一张照片:
然后我们可以运行:
得到:
剩下的(日期时间索引)就不那么简单了。例如:
相关问题 更多 >
编程相关推荐