Что лучший способ состоит в том, чтобы пойти от Java/C# до C++? [закрытый]

Я просто попытался отредактировать это, но я не был зарегистрирован, поэтому не знаю, где мое редактирование. Я пытался включить множественный выбор. Поэтому я думаю, что лучший ответ:

. Для одного значения наиболее простым (читаемым человеком), вероятно, является:

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
10
задан SudoRahul 18 November 2013 в 05:13
поделиться

9 ответов

Да, я получил бит той же ошибкой. Университет был склонен облокачиваться на Java и затем позволил Вам выбирать язык, с которым Вы хотели работать во время проектов.

Лучший способ состоит в том, чтобы просто вскочить. Начните с малого, возьмите маленькие шаги и просто вещи Google, которые смущают Вас, когда Вы добираетесь там. Также найдите проекты, которые выпустили их исходный код. Посмотрите, как они структурируют свои программы. В основном просто переделайте понятия. Существует много информации вокруг сети.

Сделайте это забавой и захватите книгу разработки игр C++, таким образом, это не становится умом, ошеломляющим слишком быстро.

Вот некоторые места, которые я нашел полезным при изучении

http://www.cprogramming.com/

http://www.wikipedia.com

http://www.cplusplus.com/

8
ответ дан 3 December 2019 в 15:54
поделиться

Эффективный C++ Scott Meyers является замечательной книгой, чтобы помочь Вам изучить C++. Дает Вам обзор языка и представляет много ключевых понятий, которые Вы будете использовать в течение разработки в основном любой программы C++.

2
ответ дан 3 December 2019 в 15:54
поделиться

Википедия имеет статью о сравнениях между Java и C++.

Вы не должны волноваться о контролируемых исключительных ситуациях в C++, но действительно необходимо знать о правильности константы.

2
ответ дан 3 December 2019 в 15:54
поделиться

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

В 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++ поможет Вам заполнить остальную часть деталей.

2
ответ дан 3 December 2019 в 15:54
поделиться

Эффективный C++ Scott Meyers является замечательной книгой, чтобы помочь Вам изучить C++. Дает Вам обзор языка и представляет много ключевых понятий, которые Вы будете использовать в течение разработки в основном любой программы C++.

Я люблю эту книгу во всех 3 выпусках, и это была одна из книг в классе, который я имел как Старший в UT, но это - просто не стартовая книга. Можно стать удобными в C++ с намного меньше, хотя Вы, конечно, не будете один с компилятором, пока Вы не считали работу Meyer's.

Я не знаю, находится ли это все еще в печати, но я нашел Перешедший C++ полезным, но я был также очень доволен указателями от Паскаля. Допустите ошибку, конечно, я забываю, что 15 лет назад необходимо было изучить, каково ООП было, теперь оно немного более принято. Таким образом, возможно, Meyer's не является исключительным. Мысли?

2
ответ дан 3 December 2019 в 15:54
поделиться

Если бы Вы уже знаете Java/C#, я рекомендовал бы идти непосредственно в C вместо C++. Согласно веб-сайту, ИЗБЫТОК имеет ту же привязку для C как C++, таким образом, Вы должны быть все установлены. Так или иначе лучший способ изучить C состоит в том, чтобы купить и прочитать копию "Языка программирования C" и сесть с Вашим компилятором C и заставить Ваш материал работать.

4
ответ дан 3 December 2019 в 15:54
поделиться

Я также полностью рекомендую Взгляды Bruce Eckel в C++. Фантастическая книга для уже опытных программистов, которые хотят войти в мышление C++.

Он достаточно любезен для предоставления доступа к электронным версиям его книг доступными бесплатно.

2
ответ дан 3 December 2019 в 15:54
поделиться

У меня была та же самая проблема. Единственная книга, которую я смог найти, была "Pro Visual C++ 2005 для Разработчиков C#" Dean C. Завещания. Это - хорошее чтение с превосходными примерами, и я думаю угол, из которого прибывает книга, вероятно, что Вы ищете.

2
ответ дан 3 December 2019 в 15:54
поделиться

Я настоятельно рекомендую, чтобы любой изучающий C++ считал Stroustrups "Язык Программирования на C++". У Meyers и Eckel есть большой материал, но ничто не бьет изучение от парня, который решил то, чем должен быть язык и как он предназначил, чтобы это использовалось.

2
ответ дан 3 December 2019 в 15:54
поделиться