как дать стандартный ввод для среза данных? - PullRequest
0 голосов
/ 30 октября 2018

Попытка нарезать фрейм данных, выбрав определенное значение столбца:

import pandas as pd

import numpy as np

df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
               'B': 'one one two three two two one three'.split(),
               'C': np.arange(8), 'D': np.arange(8) * 2})

mask = df['A'] == 'foo'

df[mask]

Это находит идеальное решение

 A       B  C   D  
foo    one  0   0   
foo    two  2   4   
foo    two  4   8   
foo    one  6  12   
foo  three  7  14

Но при попытке задать значение с помощью стандартной функции ввода ... я получаю пустой фрейм данных.

import pandas as pd

import numpy as np

df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
               'B': 'one one two three two two one three'.split(),
               'C': np.arange(8), 'D': np.arange(8) * 2})

mask = df['A'] == input("enter: ")

введите: 'foo'

df[mask]

Выход:

Empty DataFrame     
Columns: [A, B, C, D]      
Index: []

1 Ответ

0 голосов
/ 30 октября 2018

Попробуйте удалить кавычки при использовании Python 3

я питон 2.7 Я ввел 'Foo' (с кавычками) .. И он работал

Но в Python 3.6 он не работал. Я удалил цитаты и ввел foo. Сейчас работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...