pandas 的DataFrame是处理较为复杂数据的理想工具。如果时间充裕,值得认真学习并练习。
DataFrame与matlab里面的table有相似之处。
## multiIndex是处理三维或者高维数组的大杀器。
## 新手学习multiIndex可能有一些难度,但美景在险峰,值得。
##Pandas multiIndex DataFrame 2023年06月03日
import pandas as pd
import numpy as np
## step1 生成multiIndex数据,包含时间维、光谱维和距离维三个维度。
##step1.1 构造时间维、光谱维和距离维
timeAxis = ['18:00','18:25','23:00','20:00']##生成乱序的时间维
spectralAxis =['F0','F2','F1']##生成乱序的光谱维,正确顺序是F0,F1,F2
rangeAxis = ['1km','5km','3km']##生成乱序的距离维
##step1.2 构造出index, 记住DataFrame包含index和columns
idxData = pd.MultiIndex.from_product([spectralAxis,rangeAxis])
## step1.3 生成随机数 个数为:len(spectralAxis)*len(rangeAxis)*len(timeAxis)
yy = np.random.rand(len(spectralAxis)*len(rangeAxis),len(timeAxis))
## step1.4 构造出multiIndex的DataFrame
df = pd.DataFrame(yy,index=idxData,columns=timeAxis)
## step1.5 进行命名
df.index.names=['spectral','range']
df.columns.names=['time']
##print('AA',df)
##step2 切片 推荐使用pd.IndexSlice方法
## step2.1 先排序以方便切片

文章介绍了如何使用PandasDataFrame处理三维或高维数据,特别是利用multiIndex功能。首先,创建了一个包含时间、光谱和距离维度的multiIndexDataFrame,然后进行了排序以便于切片。通过pd.IndexSlice进行精确的数据选择,展示了DataFrame的强大灵活性。最后,演示了如何进行聚合分析,例如对特定时间段内的特定光谱数据求和。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



