pandas访问df第一行的元素

vs3odd8k  于 2023-05-12  发布在  其他
关注(0)|答案(2)|浏览(190)

我还在学习pandas,并尝试访问命名数组第一行的第一个元素,如下所示:

import numpy as np
import pandas as pd
accel = [[-0.7437,0.1118,-0.6367],
         [-0.7471,0.1162,-0.6338],
         [-0.7437,0.1216,-0.6255]]
accel = np.array(accel,dtype=float)
angle =  [[169.4366,49.4714,56.9421],
         [169.3762,49.5374,56.8433],
         [169.2828,49.6582,56.7059]]
angle = np.array(angle,dtype=float)
avelo = [[-0.5493,-0.9766,1.4038],
          [0,-1.4038,0.7935],
          [0.061,-1.0986,0.2441]]
avelo - np.array(avelo,dtype=float)
dfs = {
    'accel': pd.DataFrame(accel, columns=list('xyz')),
    'angle': pd.DataFrame(angle, columns=list('xyz')),
    'avelo': pd.DataFrame(avelo, columns=list('xyz'))
}
df = pd.concat(dfs, axis=1)
param = df['accel']
val = param.head()
print(val['x'][0])

这(最后三行)做我想要的,但它似乎是一个笨拙的方式来做到这一点。有没有更优雅的方式?

e4yzc0pl

e4yzc0pl1#

您可以使用at/IndexSlice

df.at[0, pd.IndexSlice["accel", "x"]]
#-0.7437

xs

df.xs(("accel", "x"), axis=1)[0]
#-0.7437
busg9geu

busg9geu2#

您可以使用iloc引用任何特定行:
验证码:

df.iloc[0]['accel']['x']

输出:

-0.7437

相关问题