我正在处理大量具有以下形式的数据:
import pandas as pd
import numpy as np
lat = np.array([80.589, 80.592, 80.595])
lon = np.array([50.268, 50.264, 50.260])
wav = np.array([[486, 605, 666, 821, 777, 719],
[ 65, 60, 68, 67, 72, 64],
[866, 946, 882, 855, 999, 1195]])
print("lat shape:",lat.shape)
print("lon shape:",lon.shape)
print("wav shape:",wav.shape)
# lat shape: (3,)
# lon shape: (3,)
# wav shape: (3, 6)
df = pd.DataFrame({
'Lon': lon,
'Lat': lat,
'Wav': wav})
给出错误“ValueError:每列数组必须都是一维的”
我可以通过将 wav 的内容转换为字符串并在需要时再转换回来来解决这个问题,但这太丑陋了,我想找到处理 pandas 数据框中混合维度数组的正确方法。
想要的结果:
print(df.head(1))
Lon Lat Wav
0 50.268 80.589 [486, 605, 666, 821, 777, 719]
我可能建议转置“wav”以获得 (6,3) 的形状;但是,您能否向我们提供您想要的结果?
wav = wav.T