【发布时间】:2020-12-05 20:18:38
【问题描述】:
假设我有一个这样的 DataFrame:
data=np.array([[-1.5625e-05,-1.5625e-05,-4.6875e-05],
[-1.5625e-05,-1.5625e-05,-1.5625e-05],
[-1.5625e-05,1.5625e-05,-4.6875e-05],
[-1.5625e-05,1.5625e-05,-1.5625e-05],
[1.5625e-05,-1.5625e-05,-4.6875e-05],
[1.5625e-05,-1.5625e-05,-1.5625e-05],
[1.5625e-05,1.5625e-05,-4.6875e-05],
[1.5625e-05,1.5625e-05,-1.5625e-05]])
df=pd.DataFrame(data=data,columns=['x','y','z'])
还有一个 numpy 数组
coord=np.array([[-1.5625e-05,-1.5625e-05,-4.6875e-05],
[-1.5625e-05,1.5625e-05,-4.6875e-05],
[1.5625e-05,-1.5625e-05,-4.6875e-05],
[1.5625e-05,1.5625e-05,-4.6875e-05],
[-1.5625e-05,-1.5625e-05,-1.5625e-05],
[-1.5625e-05,1.5625e-05,-1.5625e-05],
[1.5625e-05,-1.5625e-05,-1.5625e-05],
[1.5625e-05,1.5625e-05,-1.5625e-05]])
Pandas Dataframe 中的行数和坐标数组始终相同。如您所见,Pandas DataFrame 和坐标之间的行相同,但顺序不同。我想根据坐标数组的顺序对 DataFrame 进行排序(例如 df.x==coord[:,0] & df.y==coord[:,1] & df.z==coord[:, 2])。
【问题讨论】:
-
如果坐标重复会怎样?
-
我不确定这将如何工作。但是我正在处理的大多数直接数据集,坐标都是唯一的。