PANDAS
-
[python] [pandas] 특정 칼럼 기준으로 값이 개수 구해서 새로운 칼럼에 추가하기 ( = 엑셀의 countif 함수)Data miner/Development log 2021. 1. 20. 16:31
# 적용 전 Color Value Red 100 Red 150 Blue 50 NaN 30 # 적용 후 Color Value Counts Red 100 2 Red 150 2 Blue 50 1 NaN 30 0 Color열 기준으로 같은 값을 가지는 개수를 Counts 열로 추가하고자 한다면, 다음의 코드를 사용한다. df['Counts'] = df.groupby(['Color'])['Value'].transform('count') 다만, 컬럼의 값이 Null(Nan) 비어 있는 경우, 비어 있는 값의 개수들을 따로 카운팅하지 않는다. 이에, NaN 인 컬럼의 값들은 Counts 열에서 0의 값을 가진다.
-
[python] [pandas] 컬럼의 값들을 조건에 따라 다른 값으로 변경하기Data miner/Development log 2020. 9. 4. 23:58
실무에서 설문지 데이터를 받아서 문항의 응답값(1,2,3)을 일정한 백분율 값(0.5,0.7) 혹은 응답값에 대응하는 답변값으로 변경하는 코드가 필요했다. 이는 컬럼의 값들을 각각 대응대는 값으로 딕셔너리로 자료를 저장한 다음, 데이터에 replace 함수를 사용하여 변경해주면 되었다. key('변경 전 값') : value('변경 후 값')으로 딕셔너리 형태로 저장 change_value_dict = {1.0: 0.95, 2.0: 0.85, 3.0:0.75, 4.0:0.65, 5.0:0.55, 6.0:0.45, 7.0:0.35, 8:0.25, 9:0.15, 10: 0.05} df = df.replace({'변경하고자 하는 컬럼명': change_value_dict}) df = pd.DataFrame({..
-
[python] [pandas] 객체에 함수 적용하기. applyData miner 2020. 4. 3. 00:55
Dataframe의 apply 메서드는 주어진 Dataframe에서 데이터를 사용자의 의도에 따라서 재가공하고자 하는 경우 사용된다. Dataframe의 1차원 배열이나의 각 행/열의 원소들에 임의의 함수를 적용하여 원하는 값을 얻을 수 있다. apply메서드를 적용할 수 있는 여러 문제 상황을 구체적으로 설명하면서 소개하겠다. 먼저, 자연어처리의 NER task에서 다음과 같은 Dataframe을 얻었다고 가정해보자. 1) 특정 컬럼값의 모든 원소에 함수를 적용하고자 할 경우 data['Sentence #']의 컬럼에서 나는 문장 번호를 따로 떼어내서 새로운 칼럼 data['number']에 넣고 싶다. 아래와 같은 함수를 만든 뒤, sent_number = lambda x: int(x.split()[..