분석 Python/Vaex(6)
-
[Vaex] Join on Multiple Columns
기존 제공하는 방식이나, Pandas에서 아는 방식으로는 안 되는 것을 확인하고 테스트 결과를 공유함. 특징 1. left와 right가 같은 이름인 경우 되지 않음. 특징 2. 한개의 key만 join이 가능함. print(train_input.get_column_names()) print(train_output.get_column_names()) ['ID', 'I', 'J', 'K', 'KHNC', 'KHND', 'KHNG', 'KHPC', 'KHPD', 'KHPG', 'TMC1', 'TMC2', 'TMD1', 'TMD2', 'TMG1', 'TMG2', 'KTG1C', 'KTG2C', 'KTG1D', 'KTG2D', 'KTG1G', 'KTG2G', 'KRC', 'KLC', 'KDC', 'RNITM',..
2020.09.02 -
[Vaex] big data (.csv) covert to hdf5
import vaex for i, df in enumerate(vaex.from_csv('taxi.csv', chunk_size=100_000)): df = df[df.passenger_count < 6] df.export_hdf5(f'taxi_{i:02}.hdf5') vaex.readthedocs.io/en/latest/api.html#vaex.open API documentation for vaex library — vaex 3.0.0 documentation Parameters: x – expression or list of expressions, e.g. df.x, ‘x’, or [‘x, ‘y’] y – expression or list of expressions, e.g. df.x, ‘x’, o..
2020.09.02 -
[Vaex 1.0.0-beta.6] Groupby 사용해보기
group_result = DATA.groupby(["reviewerID"]) group_result.agg("count") group_result = DATA.groupby(["reviewerID"],agg="count") 아직은 약간 제한이 되는 것 같다 실제로 custom function을 만들려고 하면, 아래쪽과 비슷하게 만들어야 하는데... 어려워 보인다. 일단 주어진 것을 활용해서 해보자. https://vaex.readthedocs.io/en/latest/_modules/vaex/agg.html#count vaex.agg — vaex 3.0.0 documentation © Copyright 2014, Maarten A. Breddels Revision 48531b5d. vaex.readthe..
2020.08.29 -
[Vaex 1.0.0-beta.6] Virtual Column 알아보기
Vaex에서는 DataFrame에서 변수를 파생할 경우에, virtual columns로 결과가 나온다. Virtual Column 같은 경우, 진짜 정상적인 컬럼처럼 행동하지만, 메모리를 차지 않는 컬럼이다. Vaex는 실제 컬럼 Virtual Column 차이에 구별이 없어져서 거의 진짜처럼 있다고 생각하고 처리하면 된다. 실제로 연산하기가 오래 걸릴 경우에는 pythran이나, numba를 활용할 수 있다. import pandas as pd import vaex DATA = vaex.open("./data/AMAZON_FASHION.hdf5") add the Columns (1) DATA["binding_1"] = DATA.func.where( DATA.overall == 5 , "good","b..
2020.08.29 -
[Vaex 1.0.0-beta.6] Virtual column 생성 후 pandas로 변경하기
아직 안 되는 게 너무 많아서 일단 되는 것들을 기록해 놓으려고 한다. 1. 일단 vaex 를 전 처리하고 list type 인 경우 다시 pandas로 변환할 수가 없다. 2. 변수명을 덮어쓰기로 하는 경우 virtual column이 되니 출력하기 위해서는 virtual= True라는 옵션을 사용해야 한다. 3. if else 로 나눌 경우 fun과 where를 써야 하는 듯하다. DATA["binding_1"] = DATA.func.where( DATA.overall == 5 , "good","bad") DATA["binding_2"] = DATA.func.where( DATA.overall > 3 , "good","bad") DATA.to_pandas_df( virtual=False) DATA.t..
2020.08.29 -
[Vaex 1.0.0-beta.6] how to split data from str to list.
import vaex vaex에서는 List로 된 Object를 hdf5로 저장할 수 없어서 구분자 `[SEP]` 를 만들어서 string으로 만들었다. 그리고 다시 그것을 pandas처럼 split을 사용하여 처리하려고 하니 다음과 같은 에러가 발생했다. data_vaex.feature.str.split("[SEP]") --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) ~/anaconda3/lib/python3.6/site-packages/IPython/core/formatters.py in __call__(self, obj) 70..
2020.08.29