πŸ“—
JunegLee's TIL
  • TIL
  • python
    • class
    • String Basic
    • regularExpression
    • String function
    • Generator
    • String format
    • getset
    • module
    • while
    • numpy
    • print()
    • matplotlib
    • for
    • Boolean
    • tuple
    • package
    • input(variable)
    • list
    • if
    • file
    • type()
    • pandas
    • function
    • dictionary
    • ꡬ문 였λ₯˜μ™€ μ˜ˆμ™Έ
    • builtinFunction
    • Constructor
  • algorithm
    • sort
      • mergeSort
      • insertionSort
      • bubbleSort
      • heapSort
      • quickSort
      • selectionSort
    • recursion
    • Greedy
    • DepthFirstSearch
    • basic
      • DataStructure
    • hash
    • BreadthFirstSearch
  • tensorflow
    • keras
      • layers
        • Flatten
        • Flatten
        • Dense
        • Dense
        • Conv2D
        • Conv2D
    • tensorflow1x
    • tensorflow2x
  • DB
    • setting
    • join
    • subQuery
    • overview
  • deep-learning
    • neuralNetwork
    • perceptron
    • neuralNetworkLearning
    • convolution neural network
    • Gradient Descent
    • Linear Regression
    • backPropagation
    • logistic regression
    • overview
  • textPreprocessing
    • overview
  • java
    • basics
      • generic
      • Variable
      • String
    • theory
      • Object Oriented Programing
  • NLP
    • Embedding
    • Natural Language Processing
Powered by GitBook
On this page
  • pandas
  • series
  • μ‹œλ¦¬μ¦ˆ 객체 λ§Œλ“€κΈ°
  • μ‹œλ¦¬μ¦ˆμ˜ 메타 정보 확인
  • 색인 검색
  • 슬라이슀 검색
  • λ ˆμ΄λΈ”μ„ μ‚¬μš©ν•΄μ„œ 색인 μ—°μ‚°μœΌλ‘œ μ›μ†Œ μΆ”κ°€
  • λ°μ΄ν„°ν”„λ ˆμž„(DataFrame) ꡬ쑰
  • 데이터 ν”„λ ˆμž„ 생성
  • ν–‰κ³Ό μ—΄μ˜ 인덱슀 정보와 λ°°μ—΄μ˜ 메타 정보 확인
  • 색인 검색
  • λ°μ΄ν„°ν”„λ ˆμž„μ˜ ν–‰μœΌλ‘œ 검색
  • 슬라이슀 검색을 ν†΅ν•œ λΆ€λΆ„ 집합일 λ•Œ λ©”λͺ¨λ¦¬ 곡유
  • 인덱슀 숫자 μ •λ³΄λ‘œ 검색

Was this helpful?

  1. python

pandas

pandas

series

: μ‹œλ¦¬μ¦ˆ ν΄λž˜μŠ€λŠ” 1μ°¨μ›μ˜ λ°°μ—΄ ꡬ쑰λ₯Ό κ°€μ§„λ‹€. λ°°μ—΄κ³Ό λ‹€λ₯Έ 점은 인덱슀 λ ˆμ΄λΈ”(label)에 이름을 λΆ™μ—¬ 처리 ν•  수 μžˆλ‹€λŠ” 점이닀

μ‹œλ¦¬μ¦ˆ 객체 λ§Œλ“€κΈ°

import pandas as pd
s = pd.Series([1, 2, 3, 4], index=list("abcd"))

print(s)
# a    1
# b    2
# c    3
# d    4

# μ‹œλ¦¬μ¦ˆλŠ” λ‚΄λΆ€μ˜ 데이터λ₯Ό values μ†μ„±μœΌλ‘œ 쑰회 κ°€λŠ₯ν•˜λ‹€ 
print(s.values) 
# dtype: int64
# [1 2 3 4]

μ‹œλ¦¬μ¦ˆμ˜ 메타 정보 확인

: index의 속성확인, λ°°μ—΄μ˜ ν˜•μƒ, 차원, 크기 정보λ₯Ό μ†μ„±μœΌλ‘œ 관리할 수 μžˆλ‹€

import pandas as pd
s = pd.Series([1, 2, 3, 4], index=list("abcd"))

print(s.index) # Index(['a', 'b', 'c', 'd'], dtype='object')
print(s.shape) # (4,)
print(s.ndim) # 1
print(s.size) # 4

색인 검색

import pandas as pd
s = pd.Series([1, 2, 3, 4], index=list("abcd"))

print(s[0], s['a']) # 1 1

슬라이슀 검색

import pandas as pd
import numpy as np

s = pd.Series([1, 2, 3, 4], index=list("abcd"))

print(s[0:2]) 
# a    1
# b    2
# dtype: int64
print(s['a':'c'])
# a    1
# b    2
# c    3
# dtype: int64
sv = s['a':'c'] # 슬라이슀 κ²€μƒ‰ν•΄μ„œ λ³€μˆ˜μ— ν• λ‹Ή 
print(np.may_share_memory(sv, s)) # True

슬라이슀둜 μƒμ„±ν•œ κ°μ²΄λŠ” 사본객체가 μ•„λ‹ˆλ©°, μ›λ³Έμ˜ λ·°(view)λ₯Ό μ œκ³΅ν•˜λŠ” 것이닀 원본과 슬라이슀 κ²€μƒ‰ν•œ μ‚¬λ³Έμ˜ 데이터가 κ³΅μœ λ˜λŠ”μ§€ may_share_memoryν•¨μˆ˜λ‘œ 확인 νŒλ‹€μŠ€μ˜ λͺ¨λ“  κ°μ²΄λŠ” 슬라이슀 κ²€μƒ‰ν•˜λ©΄ 데이터λ₯Ό κ³΅νœ΄ν•˜λŠ” ν•˜λ‚˜μ˜ λ·°λ₯Ό 제곡

λ ˆμ΄λΈ”μ„ μ‚¬μš©ν•΄μ„œ 색인 μ—°μ‚°μœΌλ‘œ μ›μ†Œ μΆ”κ°€

import pandas as pd
s = pd.Series([1, 2, 3, 4], index=list("abcd"))

s['e'] = 100 # μ—†λŠ” λ ˆμ΄λΈ”μ„ 색인 연산에 λ„£κ³  μΆ”κ°€κ°€ κ°€λŠ₯ν•˜λ‹€ 
# s[5] = 300 # μ •μˆ˜ 인덱슀λ₯Ό μ‚¬μš©ν•΄μ„œλŠ” μ‹œλ¦¬μ¦ˆμ— μƒˆλ‘œμš΄ μ›μ†Œλ₯Ό μΆ”κ°€ν•  수 μ—†λ‹€ 
print(s) 

d = s.to_frame()
print(d)

μ‹œλ¦¬μ¦ˆλŠ” νŒλ‹€μŠ€ λͺ¨λ“ˆμ˜ κ°€μž₯ 기본적인 ν΄λž˜μŠ€μ΄λ‹€. μ‹œλ¦¬μ¦ˆλ₯Ό to_frameλ©”μ†Œλ“œλ‘œ λ°μ΄ν„°ν”„λ ˆμž„μœΌλ‘œ λ³€ν™˜ν•˜λ©΄ ν•˜λ‚˜μ˜ 열을 κ°€μ§„ 데이터 ν”„λ ˆμž„μœΌλ‘œ λ³€ν™˜ν•œλ‹€

λ°μ΄ν„°ν”„λ ˆμž„(DataFrame) ꡬ쑰

: μ‹œλ¦¬μ¦ˆλŠ” 1차원 λ°°μ—΄μ΄λ―€λ‘œ ν–‰ λ‹¨μœ„λ‘œ μ²˜λ¦¬ν•˜μ§€λ§Œ, λ°μ΄ν„°ν”„λ ˆμž„μ€ 2차원 배열이라 열을 κΈ°μ€€μœΌλ‘œ μ²˜λ¦¬ν•œλ‹€.

데이터 ν”„λ ˆμž„ 생성

import pandas as pd

df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7 ,8]], index=list('ab'), columns =list('abcd'))
print(df)
#    a  b  c  d
# a  1  2  3  4
# b  5  6  7  8
print(df.values) # [[1 2 3 4]  [5 6 7 8]]
print(type(df.values)) # <class 'numpy.ndarray'>

ν–‰κ³Ό μ—΄μ˜ 인덱슀 정보와 λ°°μ—΄μ˜ 메타 정보 확인

import pandas as pd
df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7 ,8]], index=list('ab'), columns =list('abcd'))

print(df.index) # Index(['a', 'b', 'c', 'd'], dtype='object')
print(df.columns) # Index(['a', 'b', 'c', 'd'], dtype='object')
print(df.shape) # (2, 4)
print(df.ndim) # 2
print(df.size) # 8

색인 검색

import pandas as pd
df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7 ,8]], index=list('ab'), columns =list('abcd'))

# print(df[0]) # 주의 

print(df['a'])
# a    1
# b    5
# Name: a, dtype: int64
  • λ°μ΄ν„°ν”„λž˜μž„μ„ 색인 검색 ν•  λ•ŒλŠ” μ£Όμ˜ν•΄μ•Ό ν•œλ‹€.

    λ°μ΄ν„°ν”„λž˜μž„μ€ 색인 검색할 λ•Œ μ—΄μ˜ λ ˆμ΄λΈ”μ„ κ²€μƒ‰ν•˜λŠ” λ°©μ‹μ΄λ―€λ‘œ, μ •μˆ˜ 0을 μ§€μ •ν•΄μ„œ κ²€μƒ‰ν•˜λ©΄ 아무것도 μ‘°νšŒλ˜μ§€ μ•ŠλŠ”λ‹€

  • 첫번째 μ—΄μ˜ 이름을 λ„£κ³  색인 연산을 μˆ˜ν–‰ν•˜λ©΄ 2개의 행을 좜λ ₯ν•œλ‹€.

λ°μ΄ν„°ν”„λ ˆμž„μ˜ ν–‰μœΌλ‘œ 검색

: 데이터 ν”„λ ˆμž„μ˜ 행을 κ²€μƒ‰ν•˜λ €λ©΄ λ³„λ„μ˜ μΈλ±μ„œ(indexer)λ₯Ό μ‚¬μš©, ν–‰μ˜ λ ˆμ΄λΈ”λ‘œ 색인 μ—°μ‚­ν• λ•ŒλŠ” loc μΈλ±μ„œλ₯Ό μ‚¬μš©

import pandas as pd
df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7 ,8]], index=list('ab'), columns =list('abcd'))

print(df.loc['a'])
print(df.loc['a', :]) # ν•˜λ‚˜μ˜ 행을 μ‘°νšŒν•˜λŠ” 것은 ν–‰μ˜ 이름 ν•˜λ‚˜μ™€ λͺ¨λ“  열을 슬라이슀 ν•˜λŠ” 것과 κ°™λ‹€ 
# a    1
# b    2
# c    3
# d    4
# Name: a, dtype: int64
print(df.loc['a': ,'b': 'c'])
#    b  c
# a  2  3
# b  6  7
  • λͺ¨λ“  행을 μŠ¬λΌμ΄μŠ€ν•˜κ³ , 열은 b와 cλ₯Ό μŠ¬λΌμ΄μŠ€ν•˜λ©΄ λ ˆμ΄λΈ” 이름에 ν•΄λ‹Ήν•˜λŠ” 열이 λͺ¨λ‘ μ‘°νšŒλœλ‹€

슬라이슀 검색을 ν†΅ν•œ λΆ€λΆ„ 집합일 λ•Œ λ©”λͺ¨λ¦¬ 곡유

import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7 ,8]], index=list('ab'), columns =list('abcd'))

dfv = df.loc['a': ,'b': 'c']
print(np.may_share_memory(dfv, df)) # true
  • 데이터 ν”„λ ˆμž„λ„ μ‹œλ¦¬μ¦ˆμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ 슬라이슀 검색은 λ·°λ₯Ό μ œκ³΅ν•΄μ„œ 원과 λ™μΌν•œ λ©”λͺ¨λ¦¬λ₯Ό κ³΅μœ ν•œλ‹€

인덱슀 숫자 μ •λ³΄λ‘œ 검색

: 데이터 ν”„λ ˆμž„μ˜ 행을 μ‘°νšŒν•  λ•Œ μ •μˆ˜ 인덱슀둜 색인 연산을 ν•  수 μžˆλ‹€. 이 λ•ŒλŠ” μ •μˆ˜ 인덱슀둜 검색할 수 μžˆλŠ” μΈλ±μ„œ ilocλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•œλ‹€

import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2, 3, 4], [5, 6, 7 ,8]], index=list('ab'), columns =list('abcd'))

print(df.iloc[0])
# a    1
# b    2
# c    3
# d    4
# Name: a, dtype: int64
print(df.iloc[0,0])
# 1
s = df.iloc[:, 0]
print(np.may_share_memory(s, df)) # True
  • μ •μˆ˜ 인덱슀λ₯Ό μ²˜λ¦¬ν•  λ•Œλ„ λ©”λͺ¨λ¦¬λ₯Ό κ³΅μœ λ˜λŠ” 것을 μ•Œ 수 μžˆλ‹€

Previoustype()Nextfunction

Last updated 4 years ago

Was this helpful?