Python Pandas - Công cụ IO
Các Pandas I/O API là một tập hợp các chức năng của trình đọc cấp cao nhất được truy cập như pd.read_csv() thường trả về một đối tượng Pandas.
Hai hàm workhorse để đọc các tệp văn bản (hoặc các tệp phẳng) là read_csv() và read_table(). Cả hai đều sử dụng cùng một mã phân tích cú pháp để chuyển đổi dữ liệu dạng bảng một cách thông minh thànhDataFrame đối tượng -
pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer',
names=None, index_col=None, usecols=None
pandas.read_csv(filepath_or_buffer, sep='\t', delimiter=None, header='infer',
names=None, index_col=None, usecols=None
Đây là cách csv dữ liệu tệp trông giống như -
S.No,Name,Age,City,Salary
1,Tom,28,Toronto,20000
2,Lee,32,HongKong,3000
3,Steven,43,Bay Area,8300
4,Ram,38,Hyderabad,3900
Lưu dữ liệu này thành temp.csv và tiến hành các hoạt động trên đó.
S.No,Name,Age,City,Salary
1,Tom,28,Toronto,20000
2,Lee,32,HongKong,3000
3,Steven,43,Bay Area,8300
4,Ram,38,Hyderabad,3900
Lưu dữ liệu này thành temp.csv và tiến hành các hoạt động trên đó.
read.csv
read.csv đọc dữ liệu từ các tệp csv và tạo một đối tượng DataFrame.
import pandas as pd
df=pd.read_csv("temp.csv")
print df
Nó là output như sau -
S.No Name Age City Salary
0 1 Tom 28 Toronto 20000
1 2 Lee 32 HongKong 3000
2 3 Steven 43 Bay Area 8300
3 4 Ram 38 Hyderabad 3900
chỉ mục tùy chỉnh
Điều này chỉ định một cột trong tệp csv để tùy chỉnh chỉ mục bằng cách sử dụng index_col.
import pandas as pd
df=pd.read_csv("temp.csv",index_col=['S.No'])
print df
Nó là output như sau -
S.No Name Age City Salary
1 Tom 28 Toronto 20000
2 Lee 32 HongKong 3000
3 Steven 43 Bay Area 8300
4 Ram 38 Hyderabad 3900
Người chuyển đổi
dtype trong số các cột có thể được chuyển dưới dạng chính tả.
import pandas as pd
df = pd.read_csv("temp.csv", dtype={'Salary': np.float64})
print df.dtypes
Nó là output như sau -
S.No int64
Name object
Age int64
City object
Salary float64
dtype: object
Theo mặc định, dtype của cột Lương là int, nhưng kết quả cho thấy nó là float bởi vì chúng tôi đã truyền kiểu rõ ràng.
Do đó, dữ liệu trông giống như float -
S.No Name Age City Salary
0 1 Tom 28 Toronto 20000.0
1 2 Lee 32 HongKong 3000.0
2 3 Steven 43 Bay Area 8300.0
3 4 Ram 38 Hyderabad 3900.0
header_names
Chỉ định tên của tiêu đề bằng cách sử dụng đối số tên.
import pandas as pd
df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e'])
print df
Nó là output như sau -
a b c d e
0 S.No Name Age City Salary
1 1 Tom 28 Toronto 20000
2 2 Lee 32 HongKong 3000
3 3 Steven 43 Bay Area 8300
4 4 Ram 38 Hyderabad 3900
Quan sát, tên tiêu đề được nối với tên tùy chỉnh, nhưng tiêu đề trong tệp vẫn chưa bị loại bỏ. Bây giờ, chúng ta sử dụng đối số tiêu đề để loại bỏ điều đó.
Nếu tiêu đề nằm trong một hàng khác với tiêu đề đầu tiên, hãy chuyển số hàng cho tiêu đề. Thao tác này sẽ bỏ qua các hàng trước đó.
import pandas as pd
df=pd.read_csv("temp.csv",names=['a','b','c','d','e'],header=0)
print df
Nó là output như sau -
a b c d e
0 S.No Name Age City Salary
1 1 Tom 28 Toronto 20000
2 2 Lee 32 HongKong 3000
3 3 Steven 43 Bay Area 8300
4 4 Ram 38 Hyderabad 3900
người bỏ qua
bỏ qua bỏ qua số hàng được chỉ định.
import pandas as pd
df=pd.read_csv("temp.csv", skiprows=2)
print df
Nó là output như sau -
2 Lee 32 HongKong 3000
0 3 Steven 43 Bay Area 8300
1 4 Ram 38 Hyderabad 3900