반응형

Python 66

[pyscript] 99프로의 사람을 위한 프로그래밍을 만들어 나가겠습니다

pyscript 는 python이 가지고 있는 리미트인 웹이나 앱 어플리케이션으로 바로 구동되지 않는다는 부분을 해결하고자 하는 진행 중인 프로젝트이다. 해당 프로젝트는 미국에서 anaconda 기업이 주관하는 2022년 Python Contest인 PyCon에서 1위의 프로젝트로 꼽혔다. 아직 개발 단계이고 완성되지 않았지만, 개발 모토가 인상깊게 다가왔다. programming for the 99% 프로그래밍은 소외되고 취약계층 을 포함해 일반 사람들에게도 특별한 언어라고 생각해서 해당 프로젝트가 멋지다고 생각했다. 간단하게 파이썬 언어 print("Hello World!") 만 넣고 돌려도 웹으로 만들 수 있다는 컨셉이다. 사이트 주소는 하단에. https://pyscript.net/ Pyscrip..

Python 2022.07.14

ValueError: could not convert string to float: ''

파이썬 코드에서 다음과 같은 valueError, 값 에러가 떴었다. 에러를 확인해보니 26 줄의 버튼 객체 부부과 6번째 줄의 float 부분이 걸렸다. 해당 부분은 string, 문자로 받은 값을 실수 값으로 전환하고 해당 내용을 버튼을 클릭해서 계산하도록 하는 거였는데 이 부분에서 문자를 실수 값으로 변환할 수 없다고 떴었다 # 에러 뜬 코드 calculate_button = Button(text="계산하기", command=miles_to_km()) calculate_button.grid(column=1, row=2) 여기에서 동작하는 def miles_to_km(): 함수를 호출할 때 괄호() 를 붙였다는 걸 알게되었다. 클래스 처럼 호출했음. # 에러 수정 calculate_button = B..

Python 2022.07.10

pycharm 에서 파이썬 새 프로젝트 만들기

파이참에서 새 프로젝트 만드는 법 1) File - New Project 2)파일 이름 지정하기 하단에 main.py 체크해주었다. 이게 메인으로 돌아가는 프로그램이고 그 이외 코드는 sample1.py sample2.py 등으로 각 클래스와 동작 속성들을 지정하고 메인에서 돌아가도록 만들면 된다 3) 프로젝트 열기 New Window 를 클릭했다. 새로운 창에서 새로운 프로젝트를 만들어서 돌아가게 하고 싶다면 New이고 이미 파이참 프로그램을 열었고 해당 창에서 새로운 프로젝트를 작업하고 싶다면 This Window를 클릭하면 된다 4) 실행 다음과 같이 default 값의 프로젝트가 나타났다. 맥에서는 control(^) + R을 누르면 main.py파일이 작동이 된다. 만약 main.py 이외의 e..

Python 2022.07.10

Python으로 이미지들을 gif파일로 만들기/ 티스토리에 gif 올리는 법

Python으로 Gif 파일 만들기 이미지들을 모아서 gif 파일을 만드는 걸 파이썬으로 할 수 있다. 코드는 다음과 같음 1) imageio 라이브러리를 불러오기 import imageio 2) 이미지가 있는 위치 파악 # 현재 경로 파악 pwd # 현재 경로의 문서 리스트 파악 ls 3) 해당 라이브러리 형식으로 파일을 붙여주기 filenames = ['image1.jpg', 'image2.jpg'] images = [] for filename in filenames: images.append(imageio.imread(filename)) 4) 이미지 형식과 움직임 속도 지정해서 저장하기 imageio.mimsave('practice.gif', images, 'GIF', duration=1.0) 로 ..

Python 2022.07.06

파이썬으로 글자 그림 만들기, python figure

이런 기능도 있어서 들고 왔습니다. 파이썬으로 글자를 출력해주는데 그림처럼 만드는 기능입니다 코드는 아래에서 복사해서 붙여넣으면 됩니당. # 설치 pip install pyfiglet # 실행 import pyfiglet figure = pyfiglet.figlet_format('python') print(figure) 터미널에서 한 번 돌려보았습니다 엄청 신기하다 :-> ㅎㅎ 주피터 노트북에서도 잘 돌아갑니다 좀 더 구체적인 내용은 pypi - pyfiglet 파일에서 보면 됩니당. 개발자가 심심해서 만들었다고 어디선가 주어들었는데, 재밌게 만들었단 생각이 듭니다:) https://pypi.org/project/pyfiglet/0.7/

Python 2022.07.06

Eliza chatbot - 사람들의 마음을 위로해주는 대화봇

이 논문은 초기 NLP 논문이라고 할 수 있다. Joseph Weizenbaum 이 MIT에서 1966년대 작성한 논문이다. Weizenbaum(1966)은 컴퓨터와 인간이 대화하도록 챗봇을 만들었는데, 이 프로그램을 보면 얼마나 정교하게 심리 상담 기법을 활용했는지 알 수 있다. 이 사람이 얼마나 진심이었는지 느껴져서 정말 놀람 :-0 영혼을 갈아넣었음.... 어나더 레벨 수준. 논문 부록으로 대화용 스크립트도 마련이 되어 있다. 이런 논문을 읽으면서 이미 1966년대에 챗봇이 완성이 되어 있다는 것도 놀라웠고, 초기 챗봇이 심리상담용인 것도 놀라웠다. 심리상담용 해봐야 그 당시에 뭐 얼마나 기법을 잘 썼겠어 라고 생각했는데... 대화에서 하지 말아야 할 내용은 다 뺐고, 예를 들어 충고 "~문제는 이..

Python 2022.06.29

python) seaborn(sns) scatterplot 그래프 색상 지정하기

오류에 친절하게 적혀져 있다:) ValueError: 'paired' is not a valid value for name; supported values are 'Accent', 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu_r', 'Greens', 'Greens_r', 'Greys', 'Greys_r', 'OrRd', 'OrRd_r', 'Oranges', 'Oranges_r', 'PRGn', 'PRGn_r', 'Paired', 'Paired_r', 'Pastel1', 'Pastel1_r', 'Pa..

Python 2022.06.27

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x81 in position 17: invalid start byte

#에러난 코드 df_raw = pd.read_csv("data.xlsx") df_raw 이렇게 쓰다가 에러가 나서 잠깐 당황 에러를 알아냈다. 파일이 xlsx임 #데이터 불러올 때 일자 지정해서 불러옴 df_raw = pd.read_excel("data.xlsx") df_raw 이런식으로 수정하면 파일을 불러올 수 있음 한글이 깨진다면 encoding="utf-8" 또는 encoding="euc-kr" 로 수정해보아요

Python 2022.06.27

Resample, 시간대, 월, 년, 일별 데이터 값 계산

안녕하세요! 이번에는 pandas. resample에 관련한 코드를 한 번 정리해보았습니다:) 호호. 우선 파라미터 값 부터. DataFrame.resample(rule, axis=0, closed=None, label=None, convention='start', kind=None, loffset=None, base=None, on=None, level=None, origin='start_day', offset=None) 시간 데이터를 분석할 때 연, 월, 일 단위로 다시 열로 만들어서 분석하는 경우도 있는데 resample 함수를 활용하면 rawdata만 활용해서 분석할 수 있어서 좀 더 편리합니다. 년도-월-일로 되어 있던 데이터에서 년도를 추출하고 해당 평균과 관련해서 bar graph를 만들어본..

Python 2022.04.28

Colab) Wordcloud 한글이 보이지 않을 때, 워드클라우드 만들기, 주피터 노트북, R프로그램 KoNLP 설치 실패. 워드 클라우드 저장하는 코드

텍스트 분석을 할 때 시각화를 하기 위해서 워드 클라우드를 만들곤 한다. 그런데 JupyterNotebook에서 KoNLP를 실행하려고 하거나 또는 R 프로그램에서 워드클라우드 만들려고 KoNLP 설치하다가 실패하는 경우가 있다. KoNLP 설치하려다가 경로 설정과 자바 다시 설치하고, 운영체제 건들이다가 이래저래 고생하는 경우가 있다. 이거 내 이야기. 난 그랬다 호호. 몇 번 컴퓨터와 싸우고 빌고 서로 많이 힘들어하다가... 다시 화해하고 어떻게든 문제를 해결하려고 하고. 설치 과정이 상당히 험난했다. 워드 클라우드 자체를 만들수 없는 경우, 만들었는데 한글이 깨지는 경우가 있다. KoNLP 해결하는 방법은 예전에 포스팅을 했었는데 사실 파일 설치하고 하는 과정에서 많은 에러가 있어서 이전에는 로컬 ..

Python 2022.04.25

[colab] mp3 두 개 합치기/mov -> mp4 -> wav /audiodisplay

clova api 활용 text가 길면 api 에 문제가 있음.. ㅠㅠ 2개의 mp3로 나눠서 받고 이를 합침 !touch mylist.txt 하고 해당 파일에 들어가서 목록을 확인 file 'script.mp3' file 'script_2.mp3' 두 파일이 있음 !cat mylist.txt 하면 해당 목록이 보임 !ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp3​ 치면 합쳐짐 from IPython.display import Audio sound_file = 'output.mp3' Audio(sound_file, autoplay=True) 로 확인할 수 있었음 !ffmpeg -i script.mp3 -i script_2.mp3 -filter_co..

Python 2022.04.23

to_csv, to_excel 파라미터, 판다스 엑셀 저장하기

pandas to_csv 파라미터 값. sep 이 기본적으로 ',' 로 되어 있다는 것에 주목, 그리고 encoding 은 한글이 있다면 깨지지 않게 지정해주기. sep값은 보통 tab으로도 많이 하고 ,로도 많이 작성한다. 만약 숫자 데이터가 있다면 1,000 표시처럼 중간에 ,가 들어가 있는지 확인하고 저장해주어야 한다. 아니면 다시 불러올 때 , 기준으로 데이터 파싱할 때 데이터를 잘못 파싱할 수 있다. def to_csv(path_or_buf: (FilePathOrBuffer[AnyStr] | None)=None, sep: str=',', na_rep: str='', float_format: (str | None)=None, columns: (Sequence[Hashable] | None)=Non..

Python 2022.04.22

Pandas DataFrame 만들기

def __init__(data=None, index: (Axes | None)=None, columns: (Axes | None)=None, dtype: (Dtype | None)=None, copy: (bool | None)=None) 파이썬 판다스를 이용하면 표 형태의 데이터를 다룰 수 있다는 장점이 있다. 그런데 이러한 표 형태를 만들기 위해서는 뼈대를 잘 만들어야 한다. 인덱스엔 뭘 넣고, 해당 데이터엔 뭐가 들어가는지. 데이터는 어떻게 나열할 것인지 등을 세워야 한다. 보통은 엑셀과 CSV로 만들어진 데이터를 불러와서 index가 무엇인지 지정하는 코드를 친다. 한국어 데이터 경우에는 encoding ='euc-kr' 이나 encoding='utf-8'이 붙는다. pd.read_csv('../..

Python 2022.04.22

Pandas) 선 겹쳐 그리기, 다양한 선 겹치게 그래프 만들기

선 여러개 겹쳐그리기 할 때는 df['a']만 하기 보다는 df[['a', 'b']]하는 법도 있었다. df[['a','b']].plot(figsize=(12,5)).autoscale(axis='x',tight=True); 추가로, 선을 여러개 다양하게 만들어서 겹쳐그리기 위해서는 import matplotlib.pyplot as plt fig = plt.figure(figsize=(12,5)) ax = fig.add_subplot() ax.plot(xvalue,a_data,label='A', lw=3, ls=":", c='r') ax.plot(xvalue,b_data,marker='o',label='B', c='g') ax.plot(xvalue,c_data,marker='x',label='C', c='..

Python 2022.04.21

Pandas) read_csv 데이터 불러올 때 date 형태로 parsing하기, 인덱스 설정하기, 데이터 유형 변경astype

인덱스 설정은 pd.read_csv로 불러올 때 index_col = '열 이름'으로 설정할 수 있다. data = pd.read_csv('../Data.csv', index_col='Date') 다음과 같이 설정할 수 있음. 그런데 문제는 년도-월-일 의 Date형태인 경우에는 해당 데이터 타입을 명시해주어야 한다. 그렇지 않으면 그냥 object로 인식해서 날짜 계산하기 어렵다. 여러가지 방법이 있다. 하나는 boolean으로 인덱스를 자동으로 datetime으로 설정하는 방법. pd.read_csv('../Data.csv', index_col='Date', parse_dates=True) 또 구체적으로 어떤 행인지 작성해주는 방법도 있다. 리스트 형태라서 만약 a열도 시간-분-초 형태로 적힌 데이터..

Python 2022.04.20

[데이터 시각화] matplotlib, 그래프 범례 밖으로 넣기, 산점도 색깔 넣기, 그림크기 변경figsize

Pandas에서 내장되어 있는 데이터 시각화 도구 툴을 간단하게 보겠습니다~! 우선 라이브러리 불러오기 import numpy as np import pandas as pd %matplotlib inline %matplotlib 이 부분은 jupyter notebook에서 그래프가 바로 나타나게 하는 코드이다. 주피터 노트북에서만 주로 쓰이니 다른 도구를 쓰고 있다면 해당 코드는 굳이 쓸 필요가 없음. 데이터 시각화 툴인데. 이 중 가장 많이 썼던 건 선 그래프와 산점도, 이상치를 보기 위해서 박스 플럿을 많이 봤었다. 그 외에 히스토그램 또는 막대 그래프도 자주 쓸 것같다. 둘의 차이점은 히스토그램은 연속된 값들을 표현할 때 쓰고, 막대 그래프는 분리된 값들을 표현하는데 쓴다. 이 중에서 잘 쓰고 중요..

Python 2022.04.19

Pandas) 특정 값, 이름이 있는 행 갯수 찾기, 함수 적용하기, lambda 값

이 부분도 정말 정말 많이 쓰는 기능이다. Apply Function 기능인데, 여러 가지 행 중에 만약 시계라는 단어가 들어가 있는 행만 추출한다던가. 등등 다음과 같이 함수를 짜서 true / false 로 리턴을 받아보자. 이런 식으로 표가 있다면 여기에 저 함수를 적용하면 false와 true값을 적용 받을 수 있다. 따라서 시계가 있는 행이 총 몇 개인지 확인하고 싶다면 sum(df['col4'].apply(findClock)) 이런 식으로 해당하는 행 갯수를 찾아낼 수 있다. true는 1, false 0인 3개, 결과값으로는 1이 이 조건에 해당 한다. 또한 해당 조건에 해당하는 행만 추출하고 싶다면 다음과 같이 .loc[조건]을 넣으면 해당 값이 반환된다. 해당 조건을 제외한 나머지 행을 ..

Python 2022.04.17

Pandas) value_counts(), unique(), sort_values(), groupby()/ ''DataFrame' object has no attribute 'count_values'

데이터 분석을 하기 위해서 이 함수들을 잘 알아두는 것은 중요하다. 가장 많이 팔린 제품은 뭔가요? 그런데 가장 말린 제품의 지역 5군데를 추출하면 뭐가 나오죠? 100개 이상 팔린 제품군으로는 뭐가 있죠? 등등의 질문에 답을 찾기 위해 코드 짤 때 자주 쓸 수 밖에 없다. 1. value_counts() def value_counts(subset: (Sequence[Hashable] | None)=None, normalize: bool=False, sort: bool=True, ascending: bool=False, dropna: bool=True) value_counts는 series 형태로 값을 반환해준다. 표와 같은 데이터 프레임 형식이 아니다는 게 차이점. 이런 식으로 볼 수 있다. 이건 각 ..

Python 2022.04.17
반응형