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
μ μ μΈλ±μ€λ₯Ό μ²λ¦¬ν λλ λ©λͺ¨λ¦¬λ₯Ό 곡μ λλ κ²μ μ μ μλ€
Last updated
Was this helpful?