Если вы пришли сюда, чтобы выбрать строки из фрейма данных, включив те, чье значение столбца НЕ является ни одним из списка значений, вот как перевернуть ответ unutbu для списка значений выше:
df.loc[~df['column_name'].isin(some_values)]
(Чтобы не включать одно значение, конечно, вы просто используете обычный оператор не равно, !=
.)
Пример:
import pandas as pd
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
'B': 'one one two three two two one three'.split()})
print(df)
дает нам
A B
0 foo one
1 bar one
2 foo two
3 bar three
4 foo two
5 bar two
6 foo one
7 foo three
Подмножество только для тех строк, которые ARE NOT one
или three
в столбце B
:
df.loc[~df['B'].isin(['one', 'three'])]
дает
A B
2 foo two
4 foo two
5 bar two
Я предложил бы LEGO Mindstorm, он обеспечивает интуитивный интерфейс перетаскивания для программирования и потому что он идет с аппаратными средствами, которые он предоставляет чему-то материальному ребенку для схватывания. Кроме того, потому что это - "LEGO", они могли бы думать о нем как о большем количестве игры тогда осуществление программирования.
Я думаю Контекст, Бесплатная Статья могла бы быть хорошим выбором с выводом графики, это делает его большой забавой, изучая [приблизительно 111] контекстно-свободную грамматику .
Попробуйте [Guido van Robot] [1]. Это - превосходное введение в робототехнику, и это - отличный способ представить детей стороне программирования вещей (по сравнению со "зданием роботы" сторона).
Разве Smalltalk не был разработан для такой цели? Я думаю, что Ruby был бы хорошим выбором как потомок Smalltalk.
Я знаю за первые несколько лет средней школы, нам 'преподавали' Логотип, и странно, HTML. После этого прогрессия перешла к макросам в MS Office, сопровождаемом основным VBA, сопровождаемым Visual Basic.
Смотря на Alice, я вижу, что это "разработано для учеников средней школы и студентов колледжа". Кажется, существует другой язык/версия, названный История, Говоря Alice, что "разработан для учеников средней школы"
Я пошел бы с тем, что мне жаль, что я не знал сначала: простое поле MS-DOS и интегрированный ассемблер (отладка). Замечательно действительно изучить и понять основы того, чтобы говорить с компьютером.
, Если бы это не отпугивает ребенка, то я пошел бы "следующий, выравнивают" и представляют C. Это не должно быть твердо, учитывая, что фундаментальное понятие указателей, регистров и инструкций в целом хорошо понято к тому времени.
Однако я не совсем уверен, куда пойти затем. Возьмите большой переход к Lisp, Haskell или столь же абстрагированным языкам, или должны там быть ориентированные языки некоторого простого объекта (возможно, даже C++) быть добавленным, или это больше причинит боль, чем справка?
Ну, если они молоды и не изучили свою ABC, Вы могли бы судить их на BF - не тех противных букв и чисел для контакта с.
я получу меня' слой.
Skizz
Я думаю, что Java мог бы быть хорошим выбором просто, потому что можно сделать графический интерфейсы пользователя легко и видеть, "что происходят прохладные вещи". По той же причине, возможно, любой из языков.NET. Я также услышал хорошие вещи о языках сценариев (Ruby и Python, особенно) для того, чтобы заставлять детей изучить, как программировать.
Мое дневное задание находится в школе, и за последние несколько лет я видел или преподавал (или попытался преподавать), различные дети, в различных числах, программируя уроки.
Дети все отличаются - некоторые - быстрые ученики, некоторые не. В частности, у некоторых есть лучшие навыки грамотности, чем другие, и это определенно имеет значение к скорости, на которой они возьмут программирование. Я держал пари, что большинство из нас здесь, как профессиональные программисты и вид людей, которые считали и отправляют на форумы для забавы, училось читать в симпатичном молодом возрасте. Для тех видов детей, и если это - Ваш собственный ребенок, которого можно учить один на один, Вы могли сделать хуже, чем JavaScript - это имеет преимущество, что можно сделать реальный материал с ним сразу же, и цикл испытаний редактирования просто поражает "обновление" в браузере. Это становится сбивающим с толку, когда Вы начинаете работать в к тому, как JavaScript делает все асинхронно и хитер для отладки, но для яркого ребенка под близким обучением могут быть преодолены эти проблемы.
LEGO Mindstorms определенно там наверху списка. Большинство школ теперь суперклей кирпичи вместе для создания предварительно сделанный моделями, которым нельзя было отметить биты прочь их но это не должно быть проблемой дома. На "Таймс" Образовательный сайт Дополнения (форум веб-сайта для еженедельной обучающей газеты Великобритании), "какой язык программирования является лучшим для детей?" тема довольно регулярно подходит. Много рекомендаций там для Царапины как альтернатива Mindstorms - укусило больше свободы, чем Mindstorms, снова вероятно, лучше для более яркого студента, которому можно было также дать паяльник.
я нашел, что у более медленных учеников могут все еще быть проблемы с Mindstorms, даже при том, что среда программирования является "графической" - на экране существует все еще большое продолжение, и существует немного для запоминания (это было более старой версией, ум - еще не попробовали притягательный новый). По моему опыту, лучшим всесторонним введением в программирование является, вероятно, все еще ЛОГОТИП - на самом деле значительно более мощный язык, чем большинство людей дает ему кредит на. Исходная Mindstorms книга Seymour Papert (ничто, чтобы сделать с LEGO - они отметили заголовок книги для их продукта), одного из инициаторов ЛОГОТИПА, является канонической ссылкой для обучения программирования детям как "навык мышления" и для понятия Constructionism в изучении.
у Нас были классы 7 или 8 лет ЛОГОТИПОВ программирования. Обратите внимание, что мы не стремимся делать их "разработчиками программного обеспечения", это - карьера, которую они могут выбрать в какой-то момент пост16. В молодом возрасте мы пытаемся заставить их думать о "программировании" как просто другой инструмент - как изложить проблему, которая будет решена компьютером, таким же образом они могли бы использовать интеллект-карту, чтобы помочь им организовать и помнить материал за экзамен. Никакого бедного ребенка нельзя усадить и тренировать в minutia и использовании конкретного языка, их нужно оставить исследовать и понять материал, как им нравится.
Я буду предложения второго Geoff Phrogram (раньше был KPL) , и Alice.
Мое только другое предложение Lego Mindstorms NXT. Язык программирования NXT является перетаскиванием, очень прост в использовании, и может сделать некоторые очень сложные задачи, как только Вы изучаете его. Также маленькие мальчики обычно как наблюдение вещей перемещение.:)
я использовал Alice и NXTs с некоторыми маленькими детьми, и они взяли к нему очень хорошо.
Две возможности:
Царапина - разработанный в MIT - http://scratch.mit.edu/
и
EToys от Одного Ноутбука на Дочернюю известность - http://wiki.laptop.org/go/Squeak
Полное раскрытие: я - один из парней, которые изобрели Язык программирования Ребенка, который является теперь http://www.Phrogram.com , который другие рекомендовали здесь. Позвольте мне добавить некоторую ориентированную программистами информацию об этом.
Это - IDE кода, вместо того, чтобы перетащить, или основанный на разработчике. Это было намеренным с нашей стороны - мы хотели облегчить и забава сделать реальное основанное на тексте программирование, особенно программируя игры и графику. Это - принципиальное различие между нами и Alice и Царапиной. То, которое Вы выбираете, является вопросом ребенка, их возраста и способностей, Ваших целей. Используя их последовательно с тем же новичком мог бы быть отличный способ пойти - если бы Вы делаете это, я рекомендовал бы Царапину, Alice, Phrogram как порядок. Phrogram работал лучше всего в течение 12 лет и, но я знаю пап с 6 годами, которые учили их детей с ним, и я знаю 10 лет, которые самостоятельно учились с ним.
язык как во многом как английский язык, поскольку мы могли сделать его и так минимальны, как мы могли сделать его. Секретный соус находится в основанной на классах объектной иерархии, которая снова так проста, интуитивна и подобна английскому языку, как мы могли сделать его. Объектная иерархия оптимизирована для игр и графики. 3D модели являются доступными, и 2D спрайтами. Абсолютное перемещение с помощью координат экрана поддерживается, или относительные черепахи ЛОГОТИПА крыла перемещения - Вперед (x), TurnLeft (y).
IDE идет с более чем 100 примерами, некоторые примеры языка (циклы), некоторые примеры изучения (массивы), некоторые полностью функциональные игры и sims (Вонь, Ракетная Команда, Игра Жизни).
, Чтобы дать Вам смысл того, как с высокой долей заемных средств мы сделали язык и IDE: с 27 инструкциями можно управлять 3D моделью космического корабля вокруг 3D VIP-трибуны, с помощью клавиатуры. То же с 2D спрайтом является 12 - 15 инструкциями.
Мы работаем над Совместимым с блейдом выпуском Phrogram, который позволит программам работать на XBox 360. Да, Xbox, по Вашему большому телевизору. Хороший фактор мотивации для получения запущенного ребенка?:)
Phrogram включает поддержку основанного на классах программирования с методами и свойствами - но это - только инкапсуляция, не наследование или полиморфизм.
учебное руководство по А и руководство пользователя доступны,
, Моя собственная электронная книга доступна в Amazon и других местах онлайн, "Учитесь Программе с Phrogram!", и запустили новичка путем программирования классической Вони.
Phrogram, Программирующий для Абсолютного Новичка, Jerry Lee Ford Jr., также доступен, как книга в мягкой обложке, в Amazon и в другом месте.
Для ребенка я пошел бы с Alice. Любой ребенок собирается любить взаимодействие перетаскивания, которое Alice использует лучше, чем попытка помнить, как записать и акцентировать любой язык программирования. Он изучит основные структуры программирования (условные выражения, циклы, и т.д.) и испытает забаву создать анимированную программу, которую они могут представить другой семье или друзьям.
класс CS новичка А в колледже местного сообщества на самом деле использует Alice для обучения программирования независимым от языка способом. Это обеспечивает хорошую основу перемещения в программирование на конкретном языке (или нескольких языках) в будущем.
Я недавно видел представление [приблизительно 110] GreenFoot (основанная на Java среда обучения для детей). Это выглядело потрясающим. Если бы у меня были бы дети, я дал бы ему попытку
, Это - очень игривая среда, где Вы могли запустить с очень простых методов. Дети изучают взгляды объектно-ориентированным способом (Вы не можете инстанцировать животного, но можно инстанцировать кошки). И чем лучше они добираются, тем больше Java можно раскрыть для/с их.
Я пошел бы с Царапина , некоторые точки относительно него.
я хотел бы отметить, что, хотя многие из нас начали программировать в молодом возрасте в основном или логотипе и потому что программист позже в жизни не имеет в виду, те - хорошие языки для запуска с. Я думаю, что у детей сегодня есть много более оптимальные варианты, как царапина или Alice. Основанные на тексте языки (Python, рубиновый, основной, c# или даже c), зависят от внешних библиотек и инструментов (редакторы, компиляторы), в то время как что-то как Alice или царапина - все включено и будет преподавать детям (не нацеленный на подростков) концепции программирования. Позже они могут идти дальше и развернуть свое изучение.
Я сказал бы: дайте ребенку реальный C64, потому что это - то, как я начал. Но, сегодня... Я сказал бы Ruby, но Ruby немного слишком хаотичен. ОСНОВНОЙ было бы лучше в конечном счете. Обработку легко изучить, и это - в основном Java.
причина я рекомендую, чтобы C64 был то, потому что это является ОСНОВНЫМ, но все еще необходимо изучить определенные связанные с компьютером вещи, как модель памяти, пиксели, символы, карты символов, новые строки, и т.д. и т.д., если Вы хотите сделать более усовершенствованный материал. Кроме того, если Ваш ребенок находит его скучным, Вы знаете, что его основа действительно не в кодирование.
Я передал бы ЛОГОТИП. Это было что-то, что преподавалось в моей начальной школе. Это дает почти непосредственную обратную связь и будет преподавать действительно основные концепции программирования. Перемещение, что мало черепахи вокруг может быть большой забавой.
Для ребенка, я пошел бы с Alice.
Вот другое голосование за Alice. У моих 4 детей была тонна забавы, работающей с ним и изучающей фундаментальные понятия программирования. Конечно, им это - все о социализации с феями и людоедами, но heck проклятая унаследованная система, я продолжаю работать, мог использовать некоторый faries и людоедов также.
Я рекомендовал бы Python, потому что это так кратко и выразительно. Кажется менее вероятным разбить при начале работы, но предлагает много комнаты для узнавания больше усовершенствованных понятий также.
Игровой Производитель мог бы быть другим подходом. Можно запустить простой с легкой разработки перетаскивания, и затем представить более усовершенствованное программирование, когда Вы идете. Книга Игровой Ученик Производителя: Разработка игр для Новичков имеет много демонстрационных игр и берет Вас через шаги, требуемые сделать их.
Я думаю, что Python является хорошей альтернативой; это - очень мощный язык, также можно легко сделать много вещей (не скучный вообще).
Контроль Писк разработанный Alan Kay , кто думает, программируя, должен преподаваться в ранних возрастах.
Какого возраста? Многие из нас смотрели с ОСНОВНЫМ в какой-то момент, но к тому времени, я изучил понятие строкового представления команд вместе, переменных и цикличного выполнения с ЛОГОТИПОМ. Выяснение, как нарисовать круг с треугольником, который может только войти в прямую линию и поворот, было моим самым первым выполнением программирования.
Редактирование: Этот вопрос & его ответы заставляют меня чувствовать себя старым.
Хотя _why не дал ему много любви в прошлом году или так, некоторое время я был действительно взволнован [приблизительно 110] Взлом Hackety . Я думаю ключ для самых новых программистов, особенно дети, которые более, чем склонны к терению интереса к вещам, являются мгновенной обратной связью. Это было действительно замечательной вещью о Взломе Hackety: несколько строк кода, и внезапно у Вас есть что-то перед Вами, которое делает что-то. Существует несколько подобных приложений, нацеленных на вещи как рисование графики (один из который, я кратко помог Nathan Weizenbaum на, Scribble! ). Детям просто нужны позитивные отклики, что они делают что-то корректное регулярно, еще нет ничего для хранения их заинтересованными задачей под рукой. То, что я думаю, что будущее для обучающих детей к программе, является своего рода DSL, созданным сверху языка с дружественным синтаксисом (они включали бы, возможно, Ruby, Python и Схему), чья цель состоит в том, чтобы обеспечить, интуитивная среда для построения простых игр (скажите, Палец ноги Тика-Tac или Палач).
Я думаю, что необходимо начать их в C. Чем раньше они могут приобрести навык указателей, тем лучше.
Я думаю, что первый вопрос: какую программу было бы интересно создать? Одной из вещей, которые запустили меня с программирования как ребенок (в основной Би-би-си и затем QBasic) была простота записи графических программ. Я мог записать несколько строк кода и видеть, что моя программа немедленно чертила линию на экране.
самое близкое я видел к такой простоте, недавно pygame библиотека для Python и Обработка , ряд библиотек Java с IDE.
я предполагаю, что взламывание на веб-страницах должно было бы иначе начать: это повлекло бы за собой HTML, JavaScript (пользующийся библиотекой как jQuery), возможно, PHP или что-то вдоль тех строк.
Безотносительно инструментов Вы обеспечиваете, решающая вещь для него, чтобы быть легкой начать немедленно. Если необходимо записать двадцать строк корректного кода и выяснить, как вызвать компилятор перед наблюдением любых ощутимых результатов прогресс будет медленным.
Уже существует много хороших предложений здесь. Я действительно соглашаюсь с Kronikarz. Получите ретро компьютер (или эмулятор), что Вы интересуетесь и преподаете с этим. Почему ретро компьютер? Основной встроен. Создание звуков и примитивной графики является тривиальной задачей. Реальное соглашение могло бы быть лучше, чем эмулятор, потому что это будет немного более захватывающим ребенку, который привык видеть только современные устройства.
Как я сказал здесь , я пойду для , Squeakland и известное Водят Автомобиль пример (приводимый в действие Писк ).
синтаксис Smalltalk прост, который является большим для детей.
И позже поскольку ребенок развивается, он может узнать больше комплекс и даже очень усовершенствованные понятия, которые находятся также в Писке (например, программирование веб-приложений с сохранением информации с автоматизированным рефакторингом и автоматизированными модульными тестами!).
И как @cpuguru и сказанный @Rotem, Царапина (также базирующийся Писк) является большой также.