Programming(178)
-
[3강] 튜플, 집합과 맵
튜플 튜플은 List와 마찬가지로 immutable이지만 각기 다른 타입의 변수를 저장할 수 있다. 튜플에 접근하기 위해서는 _1, _2와 같이 호출을 해주어야 한다.일관성을 강조하는 scala에서 왜 pair(0), pair(1) 이런 식으로 안만들었을까나??apply 매소드는 항상 동일한 타입의 객체를 리턴하는 반면 튜플 같은 경우는 각기 다른 타입이 존재하기 때문에 _1은 어떤 타입, _2는 어떤 타입 이런식으로 따로 분리를 해논 것이다. 집합 immutable한 집합과 mutable한 집합 모두 만들 수 있다. var jetSet = Set("Boeing", "Airbus")jetSet += "Lear" 스칼라에서 따로 import를 하지 않으면 기본적으로 immutable한 집합이라고 생각한다...
2015.04.15 -
[2강] 배열과 리스트
배열 기타 다른 언어들과 마찬가지로 스칼라도 배열과 리스트 타입의 자료구조를 제공한다. 아래 보이는 예는 배열 타입에 대한 사용 방법을 예시하였다. val greetStrings = new Array[String](3)greetStrings(0) = "Hello"greetStrings(1) = ", "greetStrings(2) = "World!\n" for ( i
2015.04.14 -
[1강] Scala 소개
Scala 이름은 참 많이 들어봤지만 정확히 무엇에 쓰이는 언어이고 무엇이 좋은지는 하나도 알지 못하고 있었다. 요새 차츰 함수형 언어가 각광받기 시작하고 있고, 그에 따라 scala란 언어도 사람들 사이에서 주목받고 있다.또한 개발자 로망 중에 하나가 능숙한 함수형 언어 하나 다뤄보는 것 아닐까나?? 해서 나 역시 scala를 공부하기로 다짐 또 다짐하였다.일단 scala란 이름은 scalable한 언어란 뜻을 가지게 하기 위해 scala로 지었다고 한다.'얼마나 확장 가능하길래 이름 부터가 scala지?' [성당과 시장]이라는 책에서 보면 성당과 시장을 소프트웨어 개발에 비유하며 설명하고 있다.성당은 일단 뼈대를 잡고 한번 구축하기 위해 많은 시간이 걸리지만, 한 번 구축하면 오랜 시간 그 구조를 유..
2015.04.13 -
우분투 14.04에 스칼라 설치하기
우선 기본적으로 jdk를 설치해야 한다. (스칼라 역시 자바 vm 상에서 돌아가기 때문에) $> apt-get install -y openjdk-7-jdk 이렇게 했는데 'Unable to fetch som archives, 어쩌구 저쩌구' 하는 에러가 발생했다.에러 메시지에 apt-get update를 한번 해보라고 해서 apt-get update를 한후 openjdk를 다시 설치하였더니 에러 없이 무사히설치가 되었다. 이젠 scala를 설치해보자 $> apt-get install -y scala 설치가 완료되었으면 console에 scala라고 입력해보자. 아래와 같이 scala 인터프리터가 나타날 것이다. 오~~~ scala 명령창이 나타났다. 이제 scala를 시작하기 전에 sbt란 것을 또 깔아..
2015.04.06 -
[Pandas] 함수들
ABS 각 요소의 절대값을 나타내 준다. APPLY각 열이나 행 전체를 파라미터로 전달하고 결과를 리턴받는다. 위의 첫번째는 b,c,d 각각의 열을 파라미터로 받아 max - min을 진행하였고, 아래 그림은 apple, banana, egg, orange의 각 행을 파라미터로 받아 max - min을 진행한 결과이다. 열이나 행이 아니라 각 요소에 적용하고 싶다면 applymap을 이용한다. 정렬Pandas에서는 sort_index 함수를 이용하여 정렬을 한다. DataFrame, Series 모두 적용 가능하다. 기본적으로 sort_index를 하면 index에 대해 정렬이 되고, axis=1로 설정할 경우 column에 대해서 정렬이 된다.sort_index의 파라미터로 ascending=False..
2015.03.23 -
[Pandas] 산술 연산
DataFrame 간의 연산 DataFrame간 연산을 하려면 그냥 연산자와 함께 입력해주면 된다. 위의 그림에서 보면 ['apple','banana','orange'] 인덱스를 가진 dataframe과 ['apple','banana','orange','egg'] 인덱스를 가진dataframe 간의 덧셈 연산을 수행하였다.index가 존재하여 연산할 수 없을 경우에는 NaN으로 표시되는 것을 확인할 수 있다. 또한 Column이 존재하지 않을 때도 NaN표시가 나타난다. 덧셈 연산에 add라는 함수를 이용한 후, option으로 fill_value를 지정해 주면 NaN 대신 지정한 값이 표시된다. 위 그림에서 보면 fill_value를 0으로 지정해주었기 때문에 orange 같은 경우 0 + 33이 되기..
2015.03.22