New FAMILUG

The PyMiers

Showing posts with label DataScience. Show all posts
Showing posts with label DataScience. Show all posts

Sunday, 5 March 2017

[Python] fractions - tính toán phân số trên Python

Trong một bài viết gần đây, chúng tôi đã giải thích hiện tượng "kỳ lạ" khi 0.1 + 0.1 + 0.1 KHÔNG BẰNG 0.3 khi sử dụng Python hay nhiều ngôn ngữ lập trình khác (C, Java, PHP, Ruby, Golang ...). Nếu bạn vẫn còn thấy nó chưa hết lạ, bấm vào đây để làm quen.

Một giải pháp xử lý vấn đề này là sử dụng thư viện "fractions" có sẵn của Python để tính toán các số hữu tỷ (phân số - rational number). Tập số hữu tỷ được ký hiệu là tập Q khi học ở phổ thông:
các tập số
Thư viện ``fractions`` có một kiểu dữ liệu tên là Fraction, nó giúp biểu diễn các phân số và thực hiện tính toán trên Python. Fraction có thể nhận nhiều dạng đầu vào khác nhau:
- Tử số và mẫu số
- String biểu diễn phân số
- Một số integer hay float
Các đoạn code sử dụng Python 3 với IPython.

Ta import thư viện trước:
In [3]: from fractions import Fraction as F
Đầu vào là tử số và mẫu số:
In [4]: F(16, 10)
Out[4]: F(8, 5)

Friday, 6 January 2017

[Python] Thêm, sửa dữ liệu trong pandas DataFrame

Tạo một DataFrame kích thước 5x4, xem cách tạo tại đây.
Việc thêm hay sửa giá trị, trong pandas gọi là "setting".

Tạo DataFrame

In [1]: import pandas as pd
In [2]: import numpy as np

In [3]: indexes = pd.Series(pd.date_range('20170106', periods=5))

In [4]: indexes
Out[4]:
0   2017-01-06
1   2017-01-07
2   2017-01-08
3   2017-01-09
4   2017-01-10
dtype: datetime64[ns]

Wednesday, 28 December 2016

[pandas] Truy cập nội dung DataFrame

Bài trước đã hướng dẫn các khái niệm cơ bản và cách tạo một bảng dữ liệu bằng pandas.
Bài này sẽ hướng dẫn cách xem bất cứ phần nào ta muốn trong bảng (DataFrame) đã tạo.

Tạo bảng mới

In [1]: import pandas as pd
In [4]: import numpy as np
In [5]: dates = pd.date_range('20161212', periods=6)
In [6]: df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
In [7]:  df
Out[7]:
                   A         B         C         D
2016-12-12 -0.115304 -0.400382  1.254944  0.702264
2016-12-13  1.436155  0.476939  1.334369  0.223856
2016-12-14 -0.124606 -0.017318  0.824345 -0.432029
2016-12-15 -1.013802  0.266865  1.341752 -0.990876
2016-12-16  0.669347 -1.086764  0.555358 -0.579439
2016-12-17 -0.405407 -0.044016 -0.153047 -0.800809

Truy cập hàng và cột trong bảng

Lấy danh sách tên các cột (column)

In [60]: df.columns
Out[60]: Index(['A', 'B', 'C', 'D'], dtype='object')

Lấy danh sách tên các dòng (index)

Tuesday, 27 December 2016

[Python] Tạo bảng dữ liệu với pandas

pandas là gì

pandas là bộ công cụ để phân tích và chỉnh sửa dữ liệu mạnh nhất thế giới, được sử dụng rộng rãi trong phân tích tài chính, phân tích dữ liệu.

Python pandas

pandas là một Python package.

Cài đặt pandas

(trong virtualenv):
$ pip install pandas
...
Installing collected packages: pandas
Successfully installed pandas-0.19.2
NOTE: pandas phụ thuộc vào package numpy,  tức cài xong pandas thì đã có cả pandas lẫn numpy.

Muốn phân tích thì phải có dữ liệu và hiển thị nó lên bảng thành hàng cột đã rồi làm gì thì làm.
Trong bài đầu tiên của series, ta sẽ sử dụng pandas để tạo một bảng dữ liệu có hàng, cột, giống như Excel hay Google spreadsheet.

Kiểu dữ liệu trong pandas

pandas có hai kiểu dữ liệu chủ chốt
- Series: kiểu dữ liệu một chiều (1D) - chuỗi các giá trị
- DataFrame: kiểu dữ liệu hai chiều (2D) - tức sẽ biểu diễn thành bảng , có hàng / cột trên Excel hay Google spreadsheet.