Я просто попытался отредактировать это, но я не был зарегистрирован, поэтому не знаю, где мое редактирование. Я пытался включить множественный выбор. Поэтому я думаю, что лучший ответ:
. Для одного значения наиболее простым (читаемым человеком), вероятно, является:
df.loc[df['column_name'] == some_value]
Для списков значений вы также можете использовать:
df.loc[df['column_name'].isin(some_values)]
Например,
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})
print(df)
# A B C D
# 0 foo one 0 0
# 1 bar one 1 2
# 2 foo two 2 4
# 3 bar three 3 6
# 4 foo two 4 8
# 5 bar two 5 10
# 6 foo one 6 12
# 7 foo three 7 14
print(df.loc[df['A'] == 'foo'])
дает
A B C D
0 foo one 0 0
2 foo two 2 4
4 foo two 4 8
6 foo one 6 12
7 foo three 7 14
Если у вас есть несколько критериев, которые вы хотите выбрать, вы можете поместить их в список и использовать 'isin':
print(df.loc[df['B'].isin(['one','three'])])
дает
A B C D
0 foo one 0 0
1 bar one 1 2
3 bar three 3 6
6 foo one 6 12
7 foo three 7 14
Обратите внимание, однако, что если вы хотите сделать это много раз, более эффективно сделать A сначала индекс, а затем используйте df.loc:
df = df.set_index(['A'])
print(df.loc['foo'])
дает
A B C D
foo one 0 0
foo two 2 4
foo two 4 8
foo one 6 12
foo three 7 14
Да, я получил бит той же ошибкой. Университет был склонен облокачиваться на Java и затем позволил Вам выбирать язык, с которым Вы хотели работать во время проектов.
Лучший способ состоит в том, чтобы просто вскочить. Начните с малого, возьмите маленькие шаги и просто вещи Google, которые смущают Вас, когда Вы добираетесь там. Также найдите проекты, которые выпустили их исходный код. Посмотрите, как они структурируют свои программы. В основном просто переделайте понятия. Существует много информации вокруг сети.
Сделайте это забавой и захватите книгу разработки игр C++, таким образом, это не становится умом, ошеломляющим слишком быстро.
Вот некоторые места, которые я нашел полезным при изучении
Эффективный C++ Scott Meyers является замечательной книгой, чтобы помочь Вам изучить C++. Дает Вам обзор языка и представляет много ключевых понятий, которые Вы будете использовать в течение разработки в основном любой программы C++.
Википедия имеет статью о сравнениях между Java и C++.
Вы не должны волноваться о контролируемых исключительных ситуациях в C++, но действительно необходимо знать о правильности константы.
Существует два основных отличий: синтаксис и управление памятью.
В C++ у Вас есть указатели, которые более мощны (или менее мощны в зависимости от Вашей интерпретации питания), ссылки на объект, о которых Вы уже знаете от Java.
В Java Вы могли бы сделать это:
Thing mything = new Thing(); // mything is an object reference
mything.method();
В C++ Вы сделали бы это:
Thing * mything = new Thing(); // mything is an object pointer
mything->method();
delete mything;
Синтаксическое отличие является заметным: '->' вместо'.' при вызове метода объекта от указателя до объекта. В C++ необходимо освободить память явно, когда Вы сделаны с объектом. В конце дня Вы делаете то же самое в C++ и Java, инстанцируя объектов и вызывающих методов, помещая бесполезные точки с запятой в конце каждой строки, и т.д. Это - какое-либо удивление, что Python становится настолько популярным?:
mything = Thing() # mything is whatever I want it to be
mything.method()
Скольжение через любую половину достойного текста C++ поможет Вам заполнить остальную часть деталей.
Эффективный C++ Scott Meyers является замечательной книгой, чтобы помочь Вам изучить C++. Дает Вам обзор языка и представляет много ключевых понятий, которые Вы будете использовать в течение разработки в основном любой программы C++.
Я люблю эту книгу во всех 3 выпусках, и это была одна из книг в классе, который я имел как Старший в UT, но это - просто не стартовая книга. Можно стать удобными в C++ с намного меньше, хотя Вы, конечно, не будете один с компилятором, пока Вы не считали работу Meyer's.
Я не знаю, находится ли это все еще в печати, но я нашел Перешедший C++ полезным, но я был также очень доволен указателями от Паскаля. Допустите ошибку, конечно, я забываю, что 15 лет назад необходимо было изучить, каково ООП было, теперь оно немного более принято. Таким образом, возможно, Meyer's не является исключительным. Мысли?
Если бы Вы уже знаете Java/C#, я рекомендовал бы идти непосредственно в C вместо C++. Согласно веб-сайту, ИЗБЫТОК имеет ту же привязку для C как C++, таким образом, Вы должны быть все установлены. Так или иначе лучший способ изучить C состоит в том, чтобы купить и прочитать копию "Языка программирования C" и сесть с Вашим компилятором C и заставить Ваш материал работать.
Я также полностью рекомендую Взгляды Bruce Eckel в C++. Фантастическая книга для уже опытных программистов, которые хотят войти в мышление C++.
Он достаточно любезен для предоставления доступа к электронным версиям его книг доступными бесплатно.
У меня была та же самая проблема. Единственная книга, которую я смог найти, была "Pro Visual C++ 2005 для Разработчиков C#" Dean C. Завещания. Это - хорошее чтение с превосходными примерами, и я думаю угол, из которого прибывает книга, вероятно, что Вы ищете.
Я настоятельно рекомендую, чтобы любой изучающий C++ считал Stroustrups "Язык Программирования на C++". У Meyers и Eckel есть большой материал, но ничто не бьет изучение от парня, который решил то, чем должен быть язык и как он предназначил, чтобы это использовалось.