티스토리 뷰

02_basicinfo(한글)
In [1]:
using DataFrames # load package

데이터프레임에 대한 기본정보 얻기

데이터프레임인 객체 x를 통해서 어떻게 정보를 얻는지 배울거다.

In [2]:
x = DataFrame(A = [1, 2], B = [1.0, missing], C = ["a", "b"])
Out[2]:
ABC
Int64Float64⍰String
111.0a
22missingb

size 함수를 통해서 데이터프레임의 행과 열의 수를 얻을 수 있다.

In [3]:
size(x), size(x, 1), size(x, 2)
Out[3]:
((2, 3), 2, 3)

R처럼 nrowncol을 통해서도 행과 열의 수를 얻을 수 있다. length는 열 수를 출력해준다.

In [4]:
nrow(x), ncol(x), length(x)
Out[4]:
(2, 3, 3)

describe는 기본적인 통계량을 출력해준다.

In [5]:
describe(x)
Out[5]:
variablemeanminmedianmaxnuniquenmissingeltype
SymbolUnion…AnyUnion…AnyUnion…Union…DataType
1A1.511.52Int64
2B1.01.01.01.01Float64
3Cab2String

showcols를 이용하면 열의 정보를 얻을 수 있다.

In [6]:
showcols(x)
┌ Warning: `showcols(df::AbstractDataFrame, all::Bool=false, values::Bool=true)` is deprecated, use `describe(df, stats=[:eltype, :nmissing, :first, :last])` instead.
│   caller = showcols(::DataFrame) at deprecated.jl:54
└ @ DataFrames ./deprecated.jl:54
Out[6]:
variableeltypenmissingfirstlast
SymbolDataTypeUnion…AnyAny
1AInt6412
2BFloat6411.0missing
3CStringab

names를 이용하면 모든 열 이름을 출력할 수 있다.

In [7]:
names(x)
Out[7]:
3-element Array{Symbol,1}:
 :A
 :B
 :C

eltypes를 열(columns)의 타입(type)을 얻을 수 있다.

In [8]:
eltypes(x)
Out[8]:
3-element Array{Type,1}:
 Int64                  
 Union{Missing, Float64}
 String                 

아래에서는 좀 큰 데이터프레임을 만든다.

In [9]:
y = DataFrame(rand(1:10, 1000, 10));

head를 이용하면 위에 있는 몇 개의 행만을 볼 수 있고,

In [10]:
head(y)
Out[10]:
x1x2x3x4x5x6x7x8x9x10
Int64Int64Int64Int64Int64Int64Int64Int64Int64Int64
19995196155
282110921337
3491038216310
47556586867
511076392918
67683763563

tail을 이용하면 아래 몇 개의 행만을 볼 수 있다.

In [11]:
tail(y, 3)
Out[11]:
x1x2x3x4x5x6x7x8x9x10
Int64Int64Int64Int64Int64Int64Int64Int64Int64Int64
136967103374
239137106847
393339959107

일부값 불러오기

데이터프레임에서 열 중 하나를 벡터(Vector)로 불러오는 세가지 방법이 아래에 제시된다.

In [12]:
x[1], x[:A], x[:, 1]
┌ Warning: indexing with colon as row will create a copy in the future use df[col_inds] to get the columns without copying
│   caller = top-level scope at In[12]:1
└ @ Core In[12]:1
Out[12]:
([1, 2], [1, 2], [1, 2])

행 중 하나를 불러오려면, 인덱스(index)를 이용한다.

In [13]:
x[1, :]
Out[13]:
ABC
Int64Float64⍰String
111.0a

값 하나만 불러오려면 어레이array에서 불러오는 것처럼 불러오면 된다.

In [14]:
x[1, 1]
Out[14]:
1

값의 일부를 하나의 값(scalar)으로 치환하는 것도 아래처럼 할 수 있다.

In [15]:
x[1:2, 1:2] = 1
x
Out[15]:
ABC
Int64Float64⍰String
111.0a
211.0b

행의 수와 동일한 길이의 벡터로 치환하는 것도,

In [16]:
x[1:2, 1:2] = [1,2]
x
Out[16]:
ABC
Int64Float64⍰String
111.0a
222.0b

크기가 같은 다른 데이터프레임으로 치환하는 것도 가능하다.

In [17]:
x[1:2, 1:2] = DataFrame([5 6; 7 8])
x
Out[17]:
ABC
Int64Float64⍰String
156.0a
278.0b

'Flux in Julia > Learning Julia (Intro_to_Julia_DFs)' 카테고리의 다른 글

03. missingvalues (한글)  (0) 2018.10.09
03. missingvalues  (0) 2018.10.09
02. basicinfo  (0) 2018.10.08
01. Constructors (한글)  (0) 2018.10.07
01. Constructors  (0) 2018.10.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함