我有一个hdf文件,它像这样打印出来:

print dt['data1']
=>

              column1  column2  column3
row1                3        8        2
row2                4        3        0
row3                12       1        14
row4                -5       5        25


1)如何按行搜索或“选择”它?那是,

dt.get_row('row3')
=> row3                12       1        14


2)如何按行和列值搜索?那是

dt.get_row('row2').where(column_value=3)
=> column2

最佳答案

将熊猫DataFrame设置为df

df = dt['data1']


您可以使用ix获得该行:

 df.ix['row3']


结果为Series

column1    12
column2     1
column3    14
Name: row3, dtype: int64


您还可以将值作为NumPy数组访问:

>>> df.ix['row3'].values
array([12,  1, 14])


或行名:

>>> df.ix['row3'].name
'row3'


row2中的值等于3的列,其中:

r2 = df.ix['row2']
r2[r2.eq(3)].index


这为您提供了一个Index对象:

Index(['column2'], dtype='object')


您也可以访问单个元素:

>>> r2[r2.eq(3)].index[0]
'column2'

关于python - 在 Pandas 中按行搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30273238/

10-12 02:49