Python的pandas 数组如何得到索引值,如图,我要得到ohio 的索引值,应该怎样做?

2025-03-03 06:34:31
推荐回答(5个)
回答1:

直接上实例:

df = pd.DataFrame(np.random.randn(5,3),index = list('abcde'),columns = ['one','two','three']) #创建一个数据框

df 内容

获取所有的列名,并形成列表:list(df.keys())

获取所有的行名,并形成列表:list(df.index)

如果要获得某一个元素的具体位置可以使用:np.where("条件"),如:np.where(df >0)

第一个arrary代表第几行,第二个代表第几列。

如,如何条件的元素存在在:第一行第三列,第三行第一列,....

回答2:

你列的这个是pandas里面的数据框DataFrame数据类型,其实和R语言里面的差不多。访问某一列可以通过b['state']和b.state这两种方法进行,但是输出的pandas里面的Series这种数据类型,因此b['state'].index()返回Index([0,1], dtype=object)。因为数据分析某个值并不是非常重要,所以据我所知没有直接输出索引值的函数,不过可以通过query()函数,b.query('state == "obio"'),输出含有ohio的行自然也就知道了索引了。

回答3:

可以将pandas 的dataframe数据类型先转换为numpy的矩阵。然后用np.argwhere去获取特定值的索引

回答4:

In [36]: list(df['state']).index('ohio')
Out[36]: 0

In [37]: list(df['state']).index('nevada')
Out[37]: 1

回答5:

b[b.['state']=='ohio'].index