Python 문법 39

파이썬 (Python) - 깊은 복사 (Deep Copy)

파이썬 (Python) - 깊은 복사 (Deep Copy) 알고리즘을 풀다 보면 원본배열의 보존을 위해 배열을 복사할 필요를 느낄때가 많다. 객체를 무작정 복사해서 사용하면 원본 객체가 핸들링되어 데이터가 변경되어서 큰 문제를 야기할 수 있기 때문에 객체를 복사할 때에는 주의해서 다뤄야 한다. 이번 포스팅에서는 객체를 복사하는 다양한 방법에 대해 알아보고자 한다. 객체를 복사하기 전에 먼저 객체의 특징 중 Mutable과 Immutable의 의미에 대해 알 필요가 있다. [Mutable, Immutable 객체] 파이썬에서 변수는 자신에게 대입된 객체를 가리키는 일종의 포인터 같은 존재이다. 때문에 파이썬에서 변수는 자체 저장공간을 할당받지 않으며 객체를 가리키는 개념이다. 무슨 말인가? C언어에서 변수..

[파이썬] append함수와 extend함수의 차이

Python 리스트에 새로운 원소를 추가하는 방법에는 append(x)와 extend(iterable)가 있고 두 함수의 차이점을 알아보겠습니다. (참고로 insert(i, x)함수도 있으며 위치 i에 x를 추가합니다) list.append(x)는 리스트 끝에 x 1개를 그대로 넣습니다. list.extend(iterable)는 리스트 끝에 가장 바깥쪽 iterable의 모든 항목을 넣습니다. ​ ​ 이해를 돕기 위해 실습을 통해 알아보겠습니다. ​ y가 리스트형일 때입니다. append는 x 그 자체를 원소로 넣고 extend는 iterable의 각 항목들을 넣습니다 ​ 그럼 리스트안에 리스트는 어떻게 처리될까요? y가 리스트형안에 리스트형이 있을 때입니다. append는 x 그 자체를 원소로 넣고 e..

Pandas DataFrame to List of Dictionaries : df.to_dict('records')

customer item1 item2 item3 1 apple milk tomato 2 water orange potato 3 juice mango chips rows = [ { 'customer': 1, 'item1': 'apple', 'item2': 'milk', 'item3': 'tomato' }, { 'customer': 2, 'item1': 'water', 'item2': 'orange', 'item3': 'potato' }, { 'customer': 3, 'item1': 'juice', 'item2': 'mango', 'item3': 'chips' } ] In [2]: df.to_dict('records') Out[2]: [{'customer': 1L, 'item1': 'apple', 'ite..

각 컬럼에 0으로 채워진 데이터 처리

# Nan으로 데이터가 들어있으면, 잘 처리해주는 함수인 dropna() 또는 fillna() 이런 함수를 이용해서 쉽게 데이터를 바꿀 수 있다. # 하지만 지금의 문제는 데이터가 없는 곳에 Nan대신 0을 저장한 상태이므로, dropna, fillna로 데이터를 처리할 수 없다. ## 따라서 실무에서는 데이터가 비어있으면 데이터베이스에 null로 저장되도록 하세요. ## from sklearn.impute import SimpleImputer sl = SimpleImputer(missing_values=0) X.columns X_sl = sl.fit_transform(X[['Glucose', 'BloodPressure', 'SkinThickness','BMI']]) X[['Glucose', 'Blood..