파이썬 . DataFrame 함수 적용하기 위와같은 데이터 프레임 df가 있습니다. Employee Name 의 데이터들의 글자 수를 알고 싶다면 어떻게 해야 할까요? 우리는 문자열의 갯수를 구하는 함수 len()을 알고 있고 있습니다. 이 함수를 적용시키는 방법은 apply() 함수를 이용하시면 됩니다. df['Employee Name'].apply( len ) 이런식으로 apply를 이용하면 함수를 적용시킬수 있게 됩니다. 개발/파이썬 2022.11.25
파이썬. DataFrame 조건을 만족하는 데이터 가져오기. 위와 같은 데이터를 가지고 있는 df 가 있습니다. 경력이 3년 이상인 사람들의 데이터를 가져오고 싶습니다. df.loc[df['Years of Experience']>= 3 , ] 위와 같이 행부분에 조건을 입력하여 출력이 가능합니다. 다만 이런식으로 조건을 입력할 경우 loc 함수만을 이용해야 합니다. 조건이 여러개인 경우는 & , | 를 이용하여 처리할 수 있습니다. 예를 들어 경력이 4년 이상이고 8년 이하인 사람의 데이터는 df.loc[(df['Years of Experience'] >= 4) & (df['Years of Experience'] 개발/파이썬 2022.11.25
파이썬. DataFrame Categorical Data DataFrame 의 데이터가 특정값이 반복될 때 데이터를 그룹지어 분석 할 수 있다. 다음과 같은 데이터 프레임 df가 있습니다. 지금은 8개의 데이터밖에 없으나 만약 수십만개 이상이라고 가정해봅시다. Year의 데이터의 값이 같은게 여러개 있을 수 있고, 또는 한개 일 수도 있습니다. 데이터의 종류는 몇가지인지 궁금할때 우리는 중복을 없애는 함수 unique를 배웠습니다. df['Year'].unique() 이렇게 3가지 종류로 있는 걸 알 수있습니다. 갯수를 알고 싶다면 nunique() 을 이용하면 갯수로 알려줍니다. 그러면 이번에는 특정 조건을 만족하는 데이터를 묶어서 처리하는 groupby() 함수를 알아봅시다. year 값이 같은 데이터들의 연봉합을 알고 싶습니다. df.groupby('Ye.. 개발/파이썬 2022.11.25
파이썬. Pandas NaN값 처리하기 NaN 값이 존재하게 되면 데이터를 분석하는 과정에서 오류가 나타날 수 있다. 따라서 이 NaN값을 처리해줘야 한다. 1. NaN값이 있는 행을 지운다. 2. NaN값을 무언가로 대체한다. df라는 데이터프레임은 다음과 같다 먼저 비어있는 데이터가 어디에 있는지 확인을 해야한다. 그럴때 사용하는 함수는 isna()와 notna()가 있다. isna() : 데이터가 비어있으면 True, 비어있지 않으면 False notna() : 데이터가 있으면 True, 비어있으면 False 그러면 이제 이 비어있는 값을 가지고 있는 행을 지워보자. 이럴때 사용하는 함수는 dropna() 함수이다. df.dropna() # 행을 삭제한다. 행을 삭제하지 않고 다른 값으로 대체하려면 fillna()를 이용한다. filln.. 개발/파이썬 2022.11.24
파이썬. CSV 파일 읽어오기 , describe , info DataFrame 은 CSV 파일 을 읽어와 사용하게 됩니다. import pandas as pd pd.read_csv('경로/파일명.csv') 위와같은 방식으로 읽어오게 됩니다. 예를 들어 winemag-data_first150k 라는 이름의 csv 파일이 있고 이를 reviews 라는 변수에 가져와보겠습니다. reviews = pd.read_csv('../data/winemag-data_first150k.csv',index_col=0) 여기서 index_col 은 가져온 데이터프레임에 컬럼을 인덱스로 사용하겠다는 의미로 0은 첫번째 값을 인덱스로 사용한다 는 의미입니다. 이런 형태의 수만가지 데이터가 저장됩니다. 처음 몇개의 형태만 출력하고 싶다면 head()를 , 뒤에 몇개를 출력하고 싶다면 tai.. 개발/파이썬 2022.11.24
파이썬.Pandas DataFrame 행,열 삭제하기,인덱스설정,이름변경 DataFrame df 는 위와 같은 값을 가지고 있습니다. DataFrame 에서 행렬삭제는 drop()을 이용합니다. store 2 의 값을 삭제하고 싶습니다. df.drop('store 2' , axis=0 ) 실행하면 위 사진처럼 출력이 됩니다. 이번에는 glasses 컬럼을 삭제해봅시다. df.drop('glasses' , axis= 1 ) 이런식으로 drop('삭제할 컬럼or행 이름' , axis = 0( =행) , 1(=열) ) 을 입력하면 됩니다. 인덱스의 이름을 변경하려면 rename() 을 이용합니다. store 3 의 이름을 last store로 바꿔봅시다. df.rename(index={'store 3' : 'last store'} ) 이번에는 컬럼의 이름을 변경해봅시다. df.re.. 개발/파이썬 2022.11.24
파이썬. Pandas DataFrame 데이터 수정, 컬럼 추가,행 추가 DataFrame 의 데이터 값을 수정하기 위해서는 그 데이터를 엑세스할 필요가 있다. 위와 같은 값을 가진 DataFrame df가 있다. store 2 의 watches 값을 20으로 변경하고 싶다. 값을 변경하기 위해서는 이 값에 엑세스하여 값을 변경해주면 된다. df.iloc[1,2] = 20 df.loc['store 2','watches'] = 20 이런식으로 값을 변경해줄 수 있다. 이번에는 새로운 컬럼을 추가해보자 shits 라는 새로운 항목에 store 1 에는 15개 store 2 에는 2개를 만들었다. df['shirts']= [15,2] 이런식으로 추가가 가능하다. 예시를 한번 더 들어봅시다 pants의 값과 shirts 를 합쳐 새로운 suits 라는 항목을 만들고 싶다 df['su.. 개발/파이썬 2022.11.24
파이썬. Pandas Dataframe 생성,접근,NaN import pandas as pd # We create a dictionary of Pandas Series items = {'Bob' : pd.Series(data = [245, 25, 55], index = ['bike', 'pants', 'watch']), 'Alice' : pd.Series(data = [40, 110, 500, 45], index = ['book', 'glasses', 'bike', 'pants'])} 위 와 같은 items 딕셔너리가 있습니다. 이 items 를 이용해 DataFrame 을 만들어보고 데이터에 접근하는 방법까지 알아보겠습니다. df = pd.DataFrame(data = items) 출력하시면 위와 같은 값을 얻을 수 있습니다. 여기서 bike,book,gla.. 개발/파이썬 2022.11.23
파이썬. Pandas 생성, 접근,연산 Pandas 를 알아봅시다. 먼저 사용하기 위해서는 import pandas 해줍니다. 편하게 사용하기 위해 별칭 pd로 지정을 합니다. import pandas as pd 판다스의 1차원 데이터는 Series 라고 부릅니다. Series( data = , index=) 를 통해 생성 가능합니다. 위 사진 처럼 list를 만들었습니다. groceries 변수에 Series를 만들었습니다. groceries를 실행하면 eggs 30 apples 6 milk Yes bread No 으로 출력되는걸 알 수 있습니다. 왼쪽 값은 index , 오른쪽 값은 data를 의미합니다. 다만 여기서 index는 우리가 보기 편한 index 입니다. 컴퓨터는 index를 0부터 시작하지만 우리가 보기는 어렵기 때문에 보기.. 개발/파이썬 2022.11.23
파이썬. Numpy - random(),randint(),슬라이싱,조건식,copy(),unique() 이번에는 정수값이 아닌 실수값을 가져올때는 linspace ( 시작,끝,개수) 를 이용하여 실수값을 가져와 1차원 배열로 만들어준다. 그러면 다음과 같은 1차원 벡터값을 2차원 행렬로 만들려면 어떻게 해야할까? 먼저 1차원 배열을 만들어보자. x 는 2부터 10까지 저장되어있는 1차원 벡터이다. 위 사진처럼 shape , ndim 을 통해 1차원인 것을 확인했다. 위사진은 대문자 X에 소문자x.reshape(3,3)을 저장한 것을 알수 있고 X를 출력하니 위 사진처럼 나왔다. 모양과 차원을 확인해보니 2차원 행렬 3x3인걸 알 수 있다. 다만 중요한 점은 x = [55,15,10,2,15,55,79,97,78,81] 인 값이 있는 벡터라고 하자. X = x의 값이 5열 2행으로 reshape되어있는 행렬.. 개발/파이썬 2022.11.23