python 139

[Pandas - Python] Permutation and Random Sampling - permutation(), sample() (순열 및 무작위 샘플링)

Permutation and Random Sampling - permutation(), sample() 랜덤 순열을 이용하여 데이터를 볼 수 있습니다. df = pd.DataFrame(np.arange(5 * 4).reshape((5, 4))) sampler = np.random.permutation(5) sampler array([4, 0, 2, 3, 1]) 이처럼 5개의 순열을 랜덤으로 섞은 뒤, df.take(sampler)를 하면 행이 섞입니다. df.take(sampler) 0123 416171819 00123 2891011 312131415 14567 만약 df에서 랜덤으로 3개를 샘플링 하고 싶다면, sample(n = 3)을 쓰면 됩니다. df.sample(n=3) 0123 41617181..

[Pandas - Python] Detecting and Filtering Outliers (데이터 필터)

Detecting and Filtering Outliers 이번에는 특정 범위를 넘어가는 데이터를 추출해보겠습니다. data = pd.DataFrame(np.random.randn(1000, 4)) data.describe() 0123 count1000.0000001000.0000001000.0000001000.000000 mean-0.0474390.0460690.024366-0.006350 std0.9971870.9983591.0089250.993665 min-3.428254-3.645860-3.184377-3.745356 25%-0.743886-0.599807-0.612162-0.697084 50%-0.0863090.043663-0.013609-0.026381 75%0.6244130.7465270.6..

[Pandas - Python] Discretization and Binning - cut() (이산화 및 분류)

Discretization and Binning - cut() 데이터를 특정 범위에 따라 분류하는 법에 대해 알아보겠습니다. ages = [20, 22, 25, 27, 21, 23, 37, 31, 61, 45, 41, 32] bins = [18, 25, 35, 60, 100] cats = pd.cut(ages, bins) cats [(18, 25], (18, 25], (18, 25], (25, 35], (18, 25], ..., (25, 35], (60, 100], (35, 60], (35, 60], (25, 35]] Length: 12 Categories (4, interval[int64, right]): [(18, 25] < (25, 35] < (35, 60] < (60, 100]] cut 함수를 통..

[Pandas - Python] Renaming Axis Indexes - rename() (축의 인덱스 이름 변경)

Renaming Axis Indexes - rename() 이번에는 축의 인덱스 이름을 변경해보겠습니다. data = pd.DataFrame(np.arange(12).reshape((3, 4)), index=['Ohio', 'Colorado', 'New York'], columns=['one', 'two', 'three', 'four']) data onetwothreefour Ohio0123 Colorado4567 New York891011 transform = lambda x: x[:4].upper() data.index.map(transform) Index(['OHIO', 'COLO', 'NEW '], dtype='object') index의 4번째 글자까지 대문자로 변경했습니다. data.index..

[Pandas - Python] Replacing Values - replace() (값 변경)

Replacing Values - replace() data = pd.Series([1., -999., 2., -999., -1000., 3.]) data 0 1.0 1 -999.0 2 2.0 3 -999.0 4 -1000.0 5 3.0 dtype: float64 data.replace(-999, np.nan) 0 1.0 1 NaN 2 2.0 3 NaN 4 -1000.0 5 3.0 dtype: float64 간단하게 -999 값을 NaN 값으로 바꿨습니다. data.replace([-999, -1000], np.nan) 0 1.0 1 NaN 2 2.0 3 NaN 4 NaN 5 3.0 dtype: float64 이번에는 -999와 -1000을 NaN으로 바꿨습니다. data.replace([-999, -1..

[Pandas - Python] Transforming Data Using a Function or Mapping - map() (함수나 매핑을 이용한 데이터 변환)

Transforming Data Using a Function or Mapping - map() data = pd.DataFrame({'food': ['bacon', 'pulled pork', 'bacon', 'Pastrami', 'corned beef', 'Bacon', 'pastrami', 'honey ham', 'nova lox'], 'ounces': [4, 3, 12, 6, 7.5, 8, 3, 5, 6]}) data foodounces 0bacon4.0 1pulled pork3.0 2bacon12.0 3Pastrami6.0 4corned beef7.5 5Bacon8.0 6pastrami3.0 7honey ham5.0 8nova lox6.0 meat_to_animal = { 'bacon': 'pig..

[Pandas - Python] Removing Duplicates - drop_duplicates() (중복 제거)

Removing Duplicates - drop_duplicates() 우선 DataFrame을 하나 만들겠습니다. data = pd.DataFrame({'k1': ['one', 'two'] * 3 + ['two'], 'k2': [1, 1, 2, 3, 3, 4, 4]}) data k1k2 0one1 1two1 2one2 3two3 4one3 5two4 6two4 이때 데이터가 중복되었는지를 알기 위해선 duplicated() 함수를 이용하면 됩니다. data.duplicated() 0 False 1 False 2 False 3 False 4 False 5 False 6 True dtype: bool 중복을 제거하기 위해 drop_duplicates() 함수를 사용하겠습니다. data.drop_duplic..

[Pandas - Python] Handling Missing Data (누락된 데이터 처리)

1. Handling Missing Data - isnull() 데이터를 분석할 때, 데이터가 누락되는 것은 매우 흔한 일입니다. Pandas에서는 누락된 데이터를 처리하는 것이 간단하고, 편합니다. 우선 어떤 데이터가 누락되었는지 알려주는 isnull() 함수를 사용하겠습니다. import pandas as pd import numpy as np string_data = pd.Series(['aardvark', 'artichoke', np.nan, 'avocado']) string_data 0 aardvark 1 artichoke 2 NaN 3 avocado dtype: object string_data.isnull() 0 False 1 False 2 True 3 False dtype: bool 만약 ..

[알고리즘 - Python] BOJ 7450

https://www.acmicpc.net/problem/7450 7450번: Bin Packing The input begins with a single positive integer on a line by itself indicating the number of the cases following, each of them as described below. This line is followed by a blank line, and there is also a blank line between two consecutive inputs. The fir www.acmicpc.net 코드) def func() -> int: cnt = 0 # bin의 개수 l = 0 r = n - 1 # 뒤에서 찾아야함 w..

[Vscode] Python Function annotation Theme is not Working (VScode에서 파이썬 타입 어노테이션, 함수 어노테이션, 타입 힌팅에 테마가 적용되지 않는 문제 해결법)

짜증.... Type annotation을 사용할 때도 테마 색깔이 이상하게 되더니, 확장 한 개를 삭제(?)하니까 잘 되는 것 같더니만,,, 이제는 Function annotation을 사용하면 이따구로 변한다 구글 어디를 뒤져도 정답은 안 나오고, 당연히 한국어로 검색하면 답은 더더욱 안 나온다 ㅋㅋ 그냥 확장을 하나하나 사용 안 함 해보면서 뭐가 문제인지 체크했는데, Python for VScode