다음과 같이 2차원 리스트가 있을 때 행은 열로, 열은 행으로 변환할 수 있다.

li = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(li)
li = list(map(list, zip(*li)))
print(li)
'''
output : 
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
'''

 

'Language > Python' 카테고리의 다른 글

멜론차트 1~50위 크롤링  (0) 2019.09.02
반복문(for)  (0) 2019.03.07
반복문(while)  (0) 2019.02.09
조건문(if)  (0) 2019.02.08
입력 함수(input)  (0) 2019.02.08

케라스는 파이썬으로 작성된 오픈소스 신경망 라이브러리 이다. 케라스는 텐서플로우 위에서 동작한다. 

케라스는 빠르게 딥러닝 연구 및 실험을 가능하게 하는데에 중점을 두고 개발되었기 때문에 다음과 같은 특징이 있다.

1. 사용자 친근성

일관성 있고 간단한 API를 제공하며, 일반적으로 필요한 사용자 작업 수를 최소화하며 사용자 오류 시 명확하고 실용적인 피드백을 제공합니다.

2. 모듈성

모델은 가능한 최소한으로 제한하여 독립적으로 생성 가능하다. 신경층, 비용함수, 최적하기, 초기화스킴, 활성함수, 정규화 스킴은 모두 새로운 모델을 생성하기 위해 결합할 수 있는 독립 실행형 모듈이다.

3. 쉬운 확장성

새로운 모듈을 추가하기 쉽다.

4. 파이썬 작업

모델은 작고, 디버그하기 쉽고, 확장성이 용이한 파이썬을 기반으로 두고 있다.

 

'AI' 카테고리의 다른 글

RNN(순환 신경망)  (0) 2021.03.31
CNN(합성곱 신경망)  (0) 2021.03.31
DNN(심층신경망)  (0) 2021.03.29
Tensorflow(텐서플로우)  (0) 2021.03.28

텐서플로우는 2015년 구글에서 오픈소스로 공개한 파이썬 라이브러리로, 여러 CPU및 GPU와 모든 플랫폼, 데스크톱, 모바일에서 사용할 수 있다.

텐서플로우 연산은 상태를 가지는 데이터 흐름 그래프로 표현된다. 또한 C++과 R같은 다른 언어도 지원하여 딥러닝 모델을 직접 작성하거나 케라스 와 같은 래퍼 라이브러리를 사용하여 작성할 수 도 있다.

텐서플로우는 크게 CPU만 지원하는 버전과 GPU를 함께 지원하는 버전으로 제공된다.

NVIDIA의 GPU를 사용하고 있지 않다면 반드시 CPU만 지원하는 버전으로 설치해야 하며 GPU를 지원하는 버전보다 설치가 쉽다는 장점이 있다.

GPU를 함께 지원하는 버전은 CPU에서 실행되는 버전보다 월등히 빠른 성능을 나타낸다. GPU는 NVIDIA GPU만 지원한다.

 

'AI' 카테고리의 다른 글

RNN(순환 신경망)  (0) 2021.03.31
CNN(합성곱 신경망)  (0) 2021.03.31
DNN(심층신경망)  (0) 2021.03.29
Keras(케라스)  (0) 2021.03.28
  1. import requests
  2. from bs4 import BeautifulSoup
  3.  
  4.  
  5.  
  6.  
  7. = open("crawl_data.txt", 'w', -1, "utf-8")        # utf-8 속성이 있어야 파일 쓸 때 인코딩 에러 x
  8. header = {'User-Agent''Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko'}    # 멜론 사이트는 헤더 값이 있어야 함
  9.  
  10. code = requests.get(url, headers = header).text     # 크롤링할 페이지의 모든 태그를 가져옴
  11. soup = BeautifulSoup(code,'html.parser')            # html 파일을 가져옴
  12. title = soup.find_all("div", {"class":"ellipsis rank01"})       # 노래 제목의 정보는 div 태그의 ellipsis rank01클래스 안에 있음
  13.                                                                 # find_all함수는 해당 조건에 맞는 모든 태그를 가져옴
  14. singer = soup.find_all("div", {"class":"ellipsis rank02"})      # 가수의 정보는 div 태그의 ellipsis rank02클래스 안에 있음
  15.  
  16. real_title = []
  17. real_singer = []
  18.  
  19. for i in title:
  20.     real_title.append(i.find('a').text)         # html 태그에서 노래 제목만(a 태그의 텍스트 값)
  21.                                                 # find함수는 해당 조건에 맞는 하나의 태그만 가져옴. 중복이면 가장 첫 번째 태그
  22.  
  23. for j in singer:
  24.     real_singer.append(j.find('a').text)        # html 태그에서 가수만(a 태그의 텍스트 값)
  25.  
  26. for k in range(1,51):   # 차트 순위가 1위~50위
  27.     f.write("{}.{} -{}\n".format(k,real_title[k],real_singer[k]))   # '1(순위).노래제목 -가수'의 형태로 데이터를 저장
  28.  
  29. f.close()

 

결과 값 : 

'Language > Python' 카테고리의 다른 글

2차원 리스트 행렬 변환  (0) 2021.07.02
반복문(for)  (0) 2019.03.07
반복문(while)  (0) 2019.02.09
조건문(if)  (0) 2019.02.08
입력 함수(input)  (0) 2019.02.08

리스트, 튜플, 문자열 등 요소가 나열된 자료형의 첫 요소부터 마지막 요소까지 변수에 대입

요소 개수만큼 반복


[기본 구조]

for 변수 in 리스트 :

수행문 (이때 변수에는 리스트의 요소 값이 대입된 상태)


for문에서 사용되는 변수는 선언과 동시에 생성 되는 개념이기 때문에 미리 만들어 놓지 않아도 된다.

1
2
3
for i in [123456789]:
    print(i*2)
# 출력값 : 246, 912, 1578
cs


range() : 지정한 범위 만큼 숫자들을 반환하는 함수

1
2
print(list(range(1,10)))
# 출력값 : [1, 2, 3, 4, 5, 6, 7, 8, 9]

cs

시작 숫자를 지정하고 끝 숫자는 포함하지 않는다.


for문에서 range()함수 사용

1
2
3
4
5
add = 0
for i in range(1,11):
    add += i # i의 값을 add에 누적
print("1~10까지 합 :", add)
출력값 : 1~10까지 합 : 55
cs



'Language > Python' 카테고리의 다른 글

2차원 리스트 행렬 변환  (0) 2021.07.02
멜론차트 1~50위 크롤링  (0) 2019.09.02
반복문(while)  (0) 2019.02.09
조건문(if)  (0) 2019.02.08
입력 함수(input)  (0) 2019.02.08

조건식이 참이면 수행 후 다시 조건식 비교


[기본 구조]

while 조건식:

수행문


조건식에 들어가는 변수는 조건 비교를 위해 사용되는 변수로 미리 만들어 놓지 않으면 오류가 난다.


@ 반복 횟수 지정

1
2
3
4
5
count = int( input("반복 횟수 입력") )
 
while count > 0 :
    print("count = {}".format(count))
    count -= 1
cs

count의 값이 0보다 크면 수행된다.

print 의 내용을 출력하고 count의 값을 1씩 감소한다.

count의 값이 0이 되면 반복문이 수행되지 않는다.


@ 특정 조건 반복

1
2
3
num = 0
while num != 9 : 
    num = int( input("9를 입력하면 종료 : ") )
cs

num이 0이 아니면 반복한다.



'Language > Python' 카테고리의 다른 글

멜론차트 1~50위 크롤링  (0) 2019.09.02
반복문(for)  (0) 2019.03.07
조건문(if)  (0) 2019.02.08
입력 함수(input)  (0) 2019.02.08
bool 자료형  (0) 2019.02.07

[if문의 구조]

if 조건식:

수행문

elif 조건식:

수행문

elif 조건식:

수행문

else:

수행문


1. 조건식

참이나 거짓의 결과가 나오는 식이 있어야 한다.

끝에는 클론(:)을 붙인다. 클론 뒤버터 수행문으로 간주된다.


2. 수행문 

조건식이 만족할 때 수행하고 싶은 코드들

수행문이 되려면 들여쓰기를 해줘야 한다.


3. elif 조건식:

위 조건식이 만족하지 않을 때 검사하는 조건문

if문에 종속되어 혼자 사용 불가능하며 원하는 만큼 여러개가 사용 가능하다.


4. else:

위 조건식들이 모두 만족하지 않으면 수행

if문에 종속되며 하나만 사용 가능하다.

'Language > Python' 카테고리의 다른 글

반복문(for)  (0) 2019.03.07
반복문(while)  (0) 2019.02.09
입력 함수(input)  (0) 2019.02.08
bool 자료형  (0) 2019.02.07
집합(Set)  (0) 2019.02.03

@ 입력

1
input("입력 : ")
cs


@ 입력값을 변수에 대입

1
input_data = input("입력 : ")
cs

입력된 문자열이 변수에 대입되어 저장된다.


@ 숫자를 입력

1
int(input("입력 : "))
cs

입력을 받으면 문자열로 인식하기 때문에 숫자로 형변환을 한다.


@ 한 번에 여러 값을 입력(1)

1
a,b,c = input("입력 : ").split( )
cs

공백을 기준으로 문자열을 나누어서 저장. 기준이 되는 값은 ".", ","등 다양하게 사용 가능


@ 한 번에 여러 값을 입력(2)

1
num1, num2, num3 = map(int, input("숫자 3개 입력 : ").split())
cs

map(함수, 반복 가능한 자료)

반복 가능한 자료의 요소 마다 함수를 수행한다.

여러개의 변수들을 한번에 int형으로 형변환이 가능해진다.

'Language > Python' 카테고리의 다른 글

반복문(while)  (0) 2019.02.09
조건문(if)  (0) 2019.02.08
bool 자료형  (0) 2019.02.07
집합(Set)  (0) 2019.02.03
딕셔너리(Dictionary)  (0) 2019.02.03

참(True)과 거짓(False)를 판별 해주는 자료형. 값은 두개만 있다.

[참과 거짓을 따졌을 때 거짓인 경우]

1. 요소가 없다.

2. 숫자가 0이다.

3. None : 값이 없다는 것을 표현


1
2
3
4
5
6
print(bool(1))
# 출력값 : True
print(bool(0))
# 출력값 : False
print(bool(-59))
# 출력값 : True


bool 자료형은 0이 아니면 모두 True이다. 1은 True를 의미하는 대표적인 숫자


'Language > Python' 카테고리의 다른 글

조건문(if)  (0) 2019.02.08
입력 함수(input)  (0) 2019.02.08
집합(Set)  (0) 2019.02.03
딕셔너리(Dictionary)  (0) 2019.02.03
튜플(Tuple)  (0) 2019.01.31

집합 자료형은 순서가 없어 인덱싱이 불가능 하다.

요소의 중복이 허용되지 않는다.

> 요소의 중복 제거 용도로 쓰일 수 있다.


1
2
3
set1 = {1,2,1,2,4,5,2,1,4}
print(set1)
# 출력값 : {1, 2, 4, 5}
cs

중복된 값들은 제거되고 출력된다.


집합을 인덱싱하고 싶으면 리스트로 변환하여 인덱싱이 가능하다.

1
2
3
4
set1 = {1,2,1,2,4,5,2,1,4}
lis = list(set1) # {1, 2, 4, 5}
print(lis[2])
# 출력값 : 4
cs


'Language > Python' 카테고리의 다른 글

입력 함수(input)  (0) 2019.02.08
bool 자료형  (0) 2019.02.07
딕셔너리(Dictionary)  (0) 2019.02.03
튜플(Tuple)  (0) 2019.01.31
리스트 관련 함수  (0) 2019.01.31

+ Recent posts