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=Nonepandas.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,3900Lư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,3900Lư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 dfNó 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     3900chỉ 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 dfNó 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     3900Ngườ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.dtypesNó là output như sau -
S.No       int64
Name      object
Age        int64
City      object
Salary   float64
dtype: objectTheo 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.0header_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 dfNó 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     3900Quan 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 dfNó 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     3900ngườ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 dfNó là output như sau -
2      Lee   32    HongKong   3000
0   3   Steven   43    Bay Area   8300
1   4      Ram   38   Hyderabad   3900