高级Python Pandas数据帧选择

时间:2015-05-17 23:38:57

标签: python r numpy pandas dataframe

假设您有以下数据框,使用代码构建:

import numpy as np
from pandas import *

headers = ['name', 'rating']

data = (['John', .987], ['Joe', .543], ['Mary', .294], ['Bill', .784])

df = Dataframe(data, columns = headers)

我知道我可以选择df.namedf[['rating']]等数据框选择来一次访问一列,或者df[2:3]进行行切片,但我似乎无法结合两者。如果我想要所有高于.500评级的行怎么办?这似乎不起作用:

df[df.rating > .5]

df.where(df.rating > .5)

第一个在R中工作的地方。在文档The where() Method and Masking ()中,示例是:

s.where(s > 0)

然而,这是非常有限的,因为我们很少想要根据所有列和所有行选择新对象(事实上,我从来没有这个需要)。我理解Python中的数据帧不等于R中的数据帧,但仍然需要。

  1. 如何选择符合特定数字标准的行?当量 到df[df.rating > .5]
  2. 如何根据列表选择行?相当于df[df.name in ('John', 'Joe')]'
  3. 我可以在柱子上切片吗?行过滤器?相当于 df[df.rating > .5, df.name in ('John', 'Joe')]
  4. 我觉得在高级切片方面缺乏帮助,而R在Subsetting

    中更胜一筹

1 个答案:

答案 0 :(得分:2)

我运行了你的代码,这应该可行:

<span id="foo" data-max="180" />
<p id='bar'>100 Bars</p>