选择Pandas DataFrame的子集

时间:2016-08-01 15:01:38

标签: python pandas

我有以下DateFrame:

 record_id  month  day  year  plot species  sex  wgt 
    33320      33321      1   12  2002     1      DM    M   44
    33321      33322      1   12  2002     1      DO    M   58
    ...          ...      ...  ...  ...    ...    ...   ... ...  

我想显示年份到wgt的列,其值等于27。 我已经完成了两行:

df_slice =  df[df.year == 27]
df_slice = df_slice.ix[:,'year':]

有没有办法将它减少到一行?

2 个答案:

答案 0 :(得分:2)

  

有没有办法将它减少到一行?

您可以轻松地将2行合并为1:

df_slice = df[df.year == 27].ix[:,'year':]

答案 1 :(得分:2)

您可以使用ix

print (df.ix[df.year == 27, 'year':])

示例(已添加值2001):

print (df)
   record     id  month  day  year  plot species sex  wgt
0   33320  33321      1   12  2001     1      DM   M   44
1   33321  33322      1   12  2002     1      DO   M   58

print (df.ix[df.year == 2001, 'year':])
   year  plot species sex  wgt
0  2001     1      DM   M   44