首页 > 解决方案 > 使用 Pandas 从 csv 文件制作行向量

问题描述

我正在使用 Pandas 读取 csv 文件,该文件包含以下数据:

   t (s)     rx (km)    ry (km)  ...   vy (km/s)   vz (km/s)  Unnamed: 7
0     0.00     1249.93    6297.17  ...      0.5774      3.1688            
1    10.17     1176.84    6302.64  ...      0.4968      3.1855            
2    20.34     1102.64    6307.28  ...      0.4150      3.2015            
3    30.51     1027.37    6311.08  ...      0.3321      3.2168            
4    40.68      951.01    6314.03  ...      0.2481      3.2312            
5    50.85      873.60    6316.12  ...      0.1630      3.2450            
6    61.02      795.12    6317.34  ...      0.0769      3.2580            
7    71.19      715.60    6317.68  ...     -0.0103      3.2702            
8    81.36      635.03    6317.12  ...     -0.0985      3.2816   

有很多列,所以有些是隐藏的.. 基本上,我想为每一行的 r = [rx,ry,rz] 和每一行的 v = [vx,vy,vz] 创建一个向量。即,我需要与向量 r 的数量一样多的行,以及与向量 v 的数量一样多的行(有 60 行,所以我想要 60 个单独的 r 和 v 向量,每个向量有 3行条目)。我该怎么做?我尝试通过以下方式使用 np.array:

rx = np.array([df['   rx (km)'].values])
ry = np.array([df['  ry (km)'].values])
rz = np.array([df['  rz (km)'].values])
r_vec =np.array([rx,ry,rz])

但我得到的是所有价值的一大块组合在一起,所以它没有意义

标签: pythonpandas

解决方案


Maybe something like this could help you:

df['R_vec'] = df[['rx', 'ry', 'rz']].values.tolist()
df['V_vec'] = df[['vx', 'vy', 'vz']].values.tolist()

推荐阅读