2015-11-11 2 views
2

Я хочу сделать следующее гип:Использование панды LOC в гип

from StringIO import StringIO 
import pandas as pd 

s = """sepal_length sepal_width petal_length petal_width species 
0   5.1   3.5   1.4   0.2 setosa 
1   4.9   3.0   1.4   0.2 setosa 
2   4.7   3.2   1.3   0.2 setosa 
3   4.6   3.1   1.5   0.2 setosa 
4   5.0   3.6   1.4   0.2 setosa 
5   5.4   3.9   1.7   0.4 setosa 
6   4.6   3.4   1.4   0.3 setosa 
7   5.0   3.4   1.5   0.2 setosa 
8   4.4   2.9   1.4   0.2 setosa 
9   4.9   3.1   1.5   0.1 setosa""" 

df = pd.read_table(StringIO(s), sep="\s+") 

df.loc[df.sepal_length > 4.5] 

Как сделать последнее предложение?

Я попытался (.loc df (> df.sepal_length 4.5))

, но он просто возвращает locindexer.

+0

С помощью этой маркировки, вероятно, будет очень сложно привлечь зрителей. – cel

+0

Как мне его улучшить :)? –

ответ

1

Есть два способа сделать это:

  1. и Использование . macro:

    (. df loc [(> df.sepal-length 4.5)]) 
    
  2. Использование get:

    (get df.loc (> df.sepal-length 4.5)) 
    

Protip: всегда стараешься работает hy2py в ваших файлах Hy. Он показывает вам, как выглядит получившийся Python. Вывод не всегда является допустимым синтаксисом, но он показывает вам, что скомпилировано в что. Оба они скомпилированы до df.loc[(df.sepal_length > 4.5)].

Еще одна вещь: извещение я использовал sepal-length. Hy конвертирует тире в идентификаторы для подчеркивания, так что это то же самое, что и sepal_length, но считается лучшим стилем.

+0

Замечательно, спасибо! –

+0

@ TheUnfunCat Добро пожаловать! В следующий раз, когда у вас возникнет вопрос, попробуйте [список рассылки Hy] (https://groups.google.com/forum/#!forum/hylang-discuss). – refi64

Смежные вопросы