Tệp JSON lưu trữ dữ liệu dưới dạng văn bản ở định dạng con người có thể đọc được. JSON là viết tắt của Ký hiệu đối tượng JavaScript. Pandas có thể đọc các tệp JSON bằng hàm read_json
Dữ liệu đầu vào
Tạo tệp JSON bằng cách sao chép dữ liệu bên dưới vào trình soạn thảo văn bản như notepad. Lưu tệp với. json và chọn loại tệp là tất cả các tệp [. ]
{
"ID":["1","2","3","4","5","6","7","8" ],
"Name":["Raj","Sham","Tusar","Ram","Jaggu","Karishma","Pranab","Shami" ]
"Salary":["520.5","625.2","411.2","821","900.25","178.2","532.5","822.4" ],
"StartDate":[ "2/2/2012","10/24/2011","12/13/2019","6/4/2004","2/22/2017","6/21/2014",
"8/20/2003","1/18/2019"],
"Dept":[ "Software","Operations","Management","HR","Finance","Software","Operations","Finance"]
}
Đọc tệp JSON
Chức năng read_json của thư viện gấu trúc có thể được sử dụng để đọc tệp JSON vào DataFrame của gấu trúc
import pandas as pd
D = pd.read_json['C:/programFiles/path/input.csv']
print [D]
Khi chúng ta thực thi đoạn mã trên, nó cho ra kết quả như sau.
Tên phòng ban ID Lương Ngày bắt đầu
0 Phần mềm 1 Raj 520. 5 2/2/2012
1 Hoạt động 2 Giả tạo 625. 2 24/10/2011
2 CNTT 3 Tusar 411. 2 13/12/2019
3 HR 4 Ram 821 6/4/2004
4 Tài chính 5 Jaggu 900. 25 22/2/2017
5 Phần mềm 6 Karishma 178. 2 20/8/2003
6 Hoạt động 7 Pranab 532. 5 18/1/2019
7 Tài chính 8 Shami 822. 4 17/6/2014
Đọc các hàng và cột cụ thể
Tương tự như những gì chúng ta đã thấy trong chương trước để đọc tệp CSV, hàm read_json của .
Chúng tôi sử dụng phương pháp lập chỉ mục đa trục được gọi là. loc[] cho mục đích này. Ta chọn hiển thị cột Lương và Tên cho một số hàng.
nhập gấu trúc dưới dạng pd
data = pd. read_json['đường dẫn/đầu vào. xlsx']
in [dữ liệu. loc[[1,3,5],['salary','name']]]
Khi chúng ta thực thi đoạn mã trên, nó sẽ tạo ra kết quả như sau.
tên lương
1 520. 5 Raj
3 411. 2 Tusar
5 900. 25 Jaggu
Đọc tệp JSON dưới dạng Bản ghi
Chúng ta cũng có thể áp dụng hàm to_json cùng với các tham số để đọc nội dung tệp JSON thành các bản ghi riêng lẻ.
nhập gấu trúc dưới dạng pd
D = pd. read_json['C. /chương trình/đường dẫn/đầu vào. xlsx']
print[D. to_json[orient='records', lines=True]]
Khi chúng ta thực thi đoạn mã trên, nó sẽ tạo ra kết quả như sau.
{"Phòng". "Phần mềm","ID". 1,"Tên". "Raj","Mức lương". 520. 5,"Ngày bắt đầu". "2/2/2012"}
{"Phòng". "Hoạt động","ID". 2,"Tên". "Sham","Lương". 625. 2,"Ngày bắt đầu". "24/10/2011"}
{"Phòng". "IT","ID". 3,"Tên". "Tusar","Lương". 911. 0,"Ngày bắt đầu". "13/12/2019"}
{"Phòng". "Nhân sự","ID". 4,"Tên". "Ram","Lương". 821,"Ngày bắt đầu". "6/4/2004"}
{"Phòng". "Tài chính","ID". 5,"Tên". "Jaggu",,"Lương". 900. 25,"Ngày bắt đầu". "22/2/2017"}
{"Phòng". "IT","ID". 6,"Tên". "Rasmi","Lương". 578. 0,"Ngày bắt đầu". "21/5/2013"}
{"Phòng". "Hoạt động","ID". 7,"Tên". "Karishma ","Lương"178. 2,"Ngày bắt đầu". "20/8/2003"}
{"Phòng". "Tài chính","ID". 8,"Tên". "Shami ","Mức lương". 822. 4,"Ngày bắt đầu". "17/6/2014"}
Trang trước
Trang in
Trang tiếp theo
Advertisements
Dept ID Name Salary StartDate
0 Software 1 Raj 520.5 2/2/2012
1 Operations 2 Sham 625.2 10/24/2011
2 Management 3 Tusar 411.2 12/13/2019
3 HR 4 Ram 821 6/4/2004
4 Finance 5 Jaggu 900.25 2/22/2017
5 Software 6 Karishma 178.2 8/20/2003
6 Operations 7 Pranab 532.5 1/18/2019
7 Finance 8 Shami 822.4 6/17/2014
Đọc các cột và hàng cụ thể
Tương tự như những gì chúng ta đã thấy trong chương trước để đọc tệp CSV, hàm read_json của thư viện pandas cũng có thể được sử dụng để đọc một số cột và hàng cụ thể sau khi tệp JSON được đọc vào DataFrame.
Chúng tôi sử dụng phương pháp lập chỉ mục đa trục được gọi là. loc[] cho mục đích này. Ta chọn hiển thị cột Lương và Tên cho một số hàng.
import pandas as pd
D = pd.read_json['C:/programfiles/path/input.xlsx']
# Use the multi-axes indexing funtion
print [D.loc[[1,3,5],['salary','name']]]
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau
salary name
1 515.2 Raj
3 729.0 Tusar
5 578.0 Karishma
Python - Xử lý dữ liệu XLSMicrosoft Excel là một chương trình bảng tính được sử dụng rất rộng rãi. Sự thân thiện với người dùng và các tính năng hấp dẫn khiến nó trở thành một công cụ được sử dụng rất thường xuyên trong Khoa học dữ liệu.
Thư viện Pandas cung cấp các tính năng sử dụng để chúng tôi có thể đọc toàn bộ tệp Excel cũng như từng phần cho chỉ một nhóm Dữ liệu được chọn. Chúng tôi cũng có thể đọc một tệp Excel có nhiều trang tính trong đó. Chúng tôi sử dụng hàm read_excel để đọc dữ liệu từ nó.
Nhập dưới dạng tệp Excel
Chúng tôi tạo một file excel gồm nhiều sheet trong hệ điều hành windows. Dữ liệu trong các sheet khác nhau như hình bên dưới.
Bạn có thể tạo tệp này bằng Chương trình Excel trong hệ điều hành windows. Lưu tệp dưới dạng đầu vào. xlsx.
id,name,salary,start_date,dept
1,Raj ,520. 5 ,2/2/2012,Phần mềm
2,Sham ,625. 2 ,24/10/2011,Hoạt động
3,Tusar,411. 2,12/13/2019,Quản lý
4,Ram ,821 ,6/4/2004 ,Tài chính
6,Jaggu ,900. 25 , 22/2/2017,Phần mềm
7,Pranab,532. 5 ,1/18/2019,Hoạt động
8,Shami ,822. 4 ,17/6/2014,Tài chính
id name zipcode
1 Raj 602225
2 Sham 341255
3 Tusar 602326
4 Ram 222568
5 Jaggu 438700
6 Karishma 224556
7 Pranab 341211
8 Shami 669875
Reading an Excel File
The read_excel function of the pandas library is used read the content of an Excel file into the python environment as a pandas DataFrame. The function can read the files from the OS by using proper path to the file. By default, the function will read Sheet1.
nhập gấu trúc dưới dạng pd
D = pd. read_excel['C. /localDisc/đường dẫn/đầu vào. xlsx']
print [D]
Khi chúng tôi thực thi đoạn mã trên, nó sẽ tạo ra kết quả sau. Xin lưu ý cách một cột bổ sung bắt đầu bằng 0 làm chỉ mục đã được tạo bởi hàm.
Tên phòng ban ID Lương Ngày bắt đầu
0 Phần mềm 1 Raj 520. 5 2/2/2012
1 Hoạt động 2 Giả 625. 2 24/10/2011
2 Quản lý 3 Tusar 411. 2 13/12/2019
3 Nhân sự 4 Ram 821 6/4/2004
4 Tài chính 5 Jaggu 900. 25 22/2/2017
5 Phần mềm 6 Karishma 178. 2 20/8/2003
6 Hoạt động 7 Pranab 532. 5 18/1/2019
7 Tài chính 8 Shami 822. 4 17/6/2014
Đọc các hàng và cột cụ thể
Tương tự như những gì chúng ta đã thấy trong chương trước để đọc tệp CSV, hàm read_excel của .
Chúng tôi sử dụng phương pháp lập chỉ mục đa trục được gọi là. loc[] cho mục đích này. Ta chọn hiển thị cột lương và tên cho một số hàng.
nhập gấu trúc dưới dạng pd
D = pd. read_excel['C. /localDisc/đường dẫn/đầu vào. xlsx']
in [dữ liệu. loc[[1,3,5],['salary','name']]]
Khi chúng ta thực thi đoạn mã trên, nó sẽ tạo ra kết quả như sau.
tên lương
1 515. 2 Raj
3 729. 0 Ram
5 578. 0 Jaggu
Đọc nhiều trang tính Excel
Có thể đọc nhiều trang tính với các định dạng Dữ liệu khác nhau bằng cách sử dụng hàm read_excel với sự trợ giúp của lớp trình bao bọc có tên là ExcelFile. Nó sẽ chỉ đọc nhiều trang tính vào bộ nhớ một lần.
Trong ví dụ dưới đây, chúng tôi đọc sheet1 và sheet2 thành hai khung dữ liệu và in chúng ra riêng lẻ.
nhập gấu trúc dưới dạng pd
với pd. Tệp Excel['C. /Người dùng/Rasmi/Tài liệu/pydatasci/đầu vào. xlsx'] dưới dạng xls.
df_1 = pd. read_excel[xls, 'Sheet1']
df_2 = pd. read_excel[xls, 'Sheet2']
print["Result Sheet 1"]
print [df1[0. 5]['salary']]
print[""]
print["*Bảng kết quả 2"]
print . 5]['zipcode']]
Khi chúng tôi thực thi đoạn mã trên, nó sẽ tạo ra kết quả sau.
Bảng kết quả 1***
0 520. 5
1 625. 2
2 411. 2
3 821
4 900. 25
Tên. tiền lương, loại. float64
Bảng kết quả 2****
0 602225
1 341255
2 602326 . mã zip, dtype. int64
3 222568
4 438700
Name: zipcode, dtype: int64
Trang trước
Trang in
Trang tiếp theo
Quảng cáo
You can create this file using the Excel Program in windows OS. Save the file as input.xlsx.
# Data in Sheet1
id,name,salary,start_date,dept
1,Raj ,520.5 ,2/2/2012,Software
2,Sham ,625.2 ,10/24/2011,Operations
3,Tusar,411.2,12/13/2019,Management
4,Ram ,821 ,6/4/2004 ,Finance
6,Jaggu ,900.25 , 2/22/2017,Software
7,Pranab,532.5 ,1/18/2019,Operations
8,Shami ,822.4 ,6/17/2014,Finance
# Data in Sheet2
id name zipcode
1 Raj 602225
2 Sham 341255
3 Tusar 602326
4 Ram 222568
5 Jaggu 438700
6 Karishma 224556
7 Pranab 341211
8 Shami 669875
Python - Cơ sở dữ liệu quan hệChúng tôi có thể kết nối với cơ sở dữ liệu quan hệ để phân tích dữ liệu bằng thư viện pandas cũng như một thư viện bổ sung khác để triển khai kết nối cơ sở dữ liệu.
Gói này có tên là sqlalchemy cung cấp đầy đủ chức năng của ngôn ngữ SQL để sử dụng trong python.
Cài đặt SQLAlchemy
Việc cài đặt rất đơn giản bằng cách sử dụng Anaconda mà chúng ta đã thảo luận trong chương Môi trường khoa học dữ liệu. Giả sử bạn đã cài đặt Anaconda như được mô tả trong chương này,
hãy chạy lệnh sau trong Cửa sổ nhắc Anaconda để cài đặt gói SQLAlchemy.
conda install sqlalchemy
Đọc các bảng quan hệ
Chúng tôi sẽ sử dụng Sqlite3 làm cơ sở dữ liệu quan hệ vì nó rất nhẹ và dễ sử dụng. Mặc dù thư viện SQLAlchemy có thể kết nối với nhiều nguồn quan hệ bao gồm MySql, Oracle và Postgresql và Mssql.
Đầu tiên, chúng ta tạo một công cụ cơ sở dữ liệu, sau đó kết nối với công cụ cơ sở dữ liệu đó bằng hàm to_sql của thư viện SQLAlchemy.
Trong ví dụ dưới đây, chúng tôi tạo bảng quan hệ bằng cách sử dụng hàm to_sql từ khung dữ liệu đã được tạo bằng cách đọc tệp csv.
Sau đó, chúng tôi sử dụng hàm read_sql_query từ pandas để thực thi và lấy kết quả từ các truy vấn SQL khác nhau.
from sqlalchemy import create_engine
import pandas as pd
D = pd.read_csv['C:/programfiles/path/input.csv']
# Create the db engine
eng = create_engine['sqlite:///:memory:']
# Store the dataframe as a table
D.to_sql['data_table', eng]
# Query 1 on the relational table
result1 = pd.read_sql_query['SELECT * FROM data_table', engine]
print['Result 1']
print[result1]
print['']
# Query 2 on the relational table
result2 = pd.read_sql_query['SELECT dept,sum[salary] FROM data_table group by dept', engine]
print['Result 2']
print[result2]
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau
________số 8Chèn dữ liệu vào bảng quan hệ
Chúng ta cũng có thể chèn dữ liệu vào bảng quan hệ bằng sql. chức năng thực thi có sẵn trong pandas. Trong đoạn mã dưới đây, chúng tôi đặt trước tệp csv dưới dạng tập dữ liệu đầu vào, lưu trữ nó trong bảng quan hệ và sau đó
chèn một bản ghi khác bằng sql. hành hình.
from sqlalchemy import create_engine
from pandas.io import sql
import pandas as pd
D = pd.read_csv['C:/Admin/Karishma/Documents/pydatasci/input.csv']
eng = create_engine['sqlite:///:memory:']
# Store the Data in a relational table
data.to_sql['data_table', eng]
# Insert another row
sql.execute['INSERT INTO data_table VALUES[?,?,?,?,?,?]', eng, params=[['id',9,'Rubika',628.78,'2014-01-17','Software']]]
# Read from the relational table
result = pd.read_sql_query['SELECT ID,Dept,Name,Salary,start_date FROM data_table', eng]
print[result]
Khi chúng tôi thực thi đoạn mã trên, nó tạo ra kết quả sau
import pandas as pd
D = pd.read_json['C:/programFiles/path/input.csv']
print [D]
0Xóa dữ liệu khỏi các bảng quan hệ
Ta cũng có thể xóa dữ liệu vào bảng quan hệ bằng sql. chức năng thực thi có sẵn trong gấu trúc. Đoạn mã dưới đây xóa một hàng dựa trên điều kiện đầu vào đã cho