Đọc tệp JSON Python Pandas

JSON là viết tắt của JavaScript Object Notation, nó lưu trữ dữ liệu văn bản dưới dạng các cặp khóa/giá trị và đây có thể là định dạng dữ liệu mà con người có thể đọc được. Các tệp JSON này thường được sử dụng để trao đổi dữ liệu trên web. Đối tượng JSON được biểu diễn giữa các dấu ngoặc nhọn [{}]. Mỗi cặp khóa/giá trị của JSON được phân tách bằng dấu phẩy

Dữ liệu JSON trông rất giống với từ điển python, nhưng JSON là định dạng dữ liệu trong khi từ điển là cấu trúc dữ liệu. Để đọc các tệp JSON vào DataFrame của gấu trúc, chúng tôi có phương thức read_json trong thư viện gấu trúc. Các ví dụ dưới đây cung cấp cho bạn tổng quan về cách chúng tôi có thể đọc các tệp JSON vào DataFrame của gấu trúc

Thí dụ

Đọc tệp JSON cục bộ vào DataFrame của gấu trúc

#importing pandas package
import pandas as pd

# reading JSON file
df = pd.read_json['E:\iris.json']

# displaying sample output
df.sample[5]

Giải trình

Trong đoạn mã trên, chúng ta đã đọc tệp JSON cục bộ vào biến df bằng cách sử dụng lệnh pd. read_json, chúng tôi chuyển vị trí tệp JSON dưới dạng một chuỗi cho phương thức này. Phương pháp này sẽ tự động chuyển đổi dữ liệu trong tệp JSON thành DataFrame. Ban đầu, chúng tôi đã nhập gói pandas dưới dạng pd. Cuối cùng, trong dòng cuối cùng, chúng tôi đã hiển thị 5 dòng mẫu từ DataFrame dưới dạng đầu ra

đầu ra

    sepalLength   sepalWidth   petalLength    petalWidth    species
149     5.9          3.0          5.1           1.8         virginica
90      5.5          2.6          4.4           1.2         versicolor
56      6.3          3.3          4.7           1.6        versicolor
38 4.4 3.0 1.3 0.2 setosa
85 6.0 3.4 4.5 1.6 versicolor

Tập dữ liệu/tệp Iris JSON được lấy làm đầu vào cho phương thức read_json, tập dữ liệu này có 5 cột và 150 hàng dữ liệu. Trong khối đầu ra này, chúng tôi chỉ hiển thị một mẫu gồm 5 hàng dữ liệu bằng cách sử dụng hàm df. phương pháp mẫu[]. Phương thức này trả về ngẫu nhiên dữ liệu từ DataFrame

Theo cách tương tự, chúng ta có thể đọc dữ liệu JSON từ xa bằng cách đề cập đến URL từ xa ở vị trí của đường dẫn tệp

Thí dụ

import pandas as pd

data = pd.read_json[
'//universities.hipolabs.com/search?country=United+Kingdom']
print[data]

Giải trình

Trong ví dụ này, chúng tôi đã sử dụng API HTTP công khai đang chứa dữ liệu ở định dạng JSON. Ở đây, phương thức read_json cũng được sử dụng để đọc dữ liệu JSON URL từ xa này

đầu ra

miềnweb_pagesnamealpha _hai_ mãbang-tỉnhquốc gia0[abdn. AC. Vương quốc Anh, Aberdeen. AC. anh][www. abdn. AC. uk/]Đại học Aberdeen GBN Vương quốc Anh 1[aber. AC. anh][www. quang sai. AC. uk/]Đại học Wales, Aberystwyth MBNa Vương quốc Anh 2[abertay. AC. anh][www. tạm dừng. AC. uk/]Đại học Abertay DundeeGBNaNVương quốc Anh3[aiuniv. giáo dục][www. aiuniv. edu/]Đại học InterContinental Hoa Kỳ - LondonGBNaNVương quốc Anh4[aku. giáo dục][www. aku. edu/]Đại học Aga KhanGBNaNVương quốc Anh

Đầu ra này có 4 hàng dữ liệu JSON mẫu từ phương thức read_json, đây là dữ liệu từ một URL công khai và nó có 171 hàng và 6 cột

Pandas là một thư viện Python mã nguồn mở cung cấp khả năng Thao tác dữ liệu nhanh chóng và linh hoạt. Wes McKinney đã tạo ra Pandas vào năm 2008 để đáp ứng nhu cầu về một Công cụ xử lý dữ liệu hiệu quả, toàn diện và nhanh như chớp. Python sau đó đã được NUMFOCUS hỗ trợ vào năm 2015, do đó cho phép Pandas có được một hệ sinh thái lớn hơn và gắn kết hơn.  

Pandas được xây dựng trên NumPy và được thiết kế để hoạt động độc đáo với nhiều thư viện của bên thứ ba dành cho máy tính khoa học. Với thư viện Pandas, bạn có thể nhập, sắp xếp, sửa đổi, phân loại và phân tích Dữ liệu lớn. Bộ công cụ Pandas làm cho việc quản lý và khám phá dữ liệu trở nên đơn giản với các phương pháp dễ hiểu.  

Trong những năm qua, Pandas đã trở thành nền tảng cho các nhiệm vụ Phân tích dữ liệu. Hai cấu trúc dữ liệu cốt lõi của Pandas – Series [1 chiều] và DataFrame [2 chiều] – có khả năng xử lý một lượng dữ liệu khổng lồ. Pandas cung cấp Bộ sưu tập và Khung dữ liệu, cho phép người dùng mô tả và thay đổi dữ liệu một cách hiệu quả theo nhiều cách tiếp cận

Cài đặt gấu trúc

Nếu bạn đang sử dụng dấu nhắc Anaconda, hãy nhập lệnh này để cài đặt Pandas

pip install pandas 

Hoặc

Conda install pandas

Ưu điểm của gấu trúc

  • khung dữ liệu
  • Dọn dẹp dữ liệu
  • Trực quan hóa dữ liệu
  • Các hoạt động toán học
  • khả năng tương thích

khung dữ liệu

Khung dữ liệu trong Pandas tổ chức dữ liệu thành các bảng 2 chiều chứa các hàng và cột. Pandas đi kèm với một loạt các khả năng được xây dựng để xử lý dữ liệu hiệu quả. Với DataFrames, bạn có thể đọc và ghi các loại dữ liệu khác nhau để phân tích.  

DataFrames của Pandas có thể giúp bạn sắp xếp lại và trực quan hóa dữ liệu một cách liền mạch để phân tích. Nó cũng có thể hỗ trợ bạn tích hợp nhiều bộ dữ liệu một cách nhanh chóng để bạn có thể làm việc với lượng dữ liệu khổng lồ một cách hiệu quả

Dọn dẹp dữ liệu

Làm sạch dữ liệu là quá trình tìm và xóa dữ liệu không mong muốn trong tập dữ liệu. Do dữ liệu đến từ nhiều nguồn khác nhau nên dữ liệu thường ở dạng thô và chưa được định dạng. Dữ liệu đó không phù hợp với Phân tích dữ liệu.  

Tuy nhiên, với Pandas, bạn có thể tận dụng một số phương pháp để nhanh chóng chuyển đổi thông tin thành dạng mong muốn. Nó cũng có thể giúp bạn loại bỏ các giá trị null hoặc trùng lặp và có các phương thức để nhóm dữ liệu, do đó cho phép Tổng hợp dữ liệu hoặc Chuyển đổi dữ liệu

Trực quan hóa dữ liệu

Phân tích dữ liệu sẽ không thể hiểu được đối với hầu hết mọi người nếu không có trực quan vượt trội. Trực quan hóa dữ liệu là một phần thiết yếu của Phân tích dữ liệu để phân tích dữ liệu khám phá.  

Pandas có một tính năng tích hợp cho phép người dùng tạo biểu đồ và phân tích dữ liệu để phát hiện sự bất thường và thu được các giá trị thống kê. Với Pandas, bạn có thể tạo các loại biểu đồ khác nhau như biểu đồ, biểu đồ phân tán, biểu đồ hộp, biểu đồ thanh, biểu đồ đường, v.v.

Các hoạt động toán học

Pandas cho phép bạn thực hiện các phép toán theo cách có thể đẩy nhanh quá trình xử lý Dữ liệu lớn. Bạn có thể thực hiện các thao tác như vector hóa, cộng, trừ, điền các giá trị null bằng so sánh và hơn thế nữa một cách dễ dàng.  

Các hoạt động khác bao gồm các hoạt động thống kê trên dữ liệu số để tìm độ lệch chuẩn, giá trị trung bình, trung vị và chế độ.    

khả năng tương thích

Vì Pandas được xây dựng dựa trên C hoặc Cython nên nó không chỉ giúp tính toán nhanh mà còn tương thích với các thư viện khác. Ví dụ: bạn có thể sử dụng thư viện matplotlib và NumPy kết hợp với Pandas

Sao chép dữ liệu trong vài phút bằng cách sử dụng đường ống dữ liệu không mã của Hevo

Hevo Data, một nền tảng Đường ống dữ liệu được quản lý hoàn toàn, có thể giúp bạn tự động hóa, đơn giản hóa và làm phong phú quy trình sao chép dữ liệu của mình chỉ bằng một vài cú nhấp chuột. Với nhiều loại trình kết nối và Đường ống dữ liệu cực nhanh của Hevo, bạn có thể trích xuất và tải dữ liệu từ hơn 100 Nguồn dữ liệu vào thẳng Kho dữ liệu của mình hoặc bất kỳ Cơ sở dữ liệu nào. Để tiếp tục hợp lý hóa và chuẩn bị dữ liệu của bạn để phân tích, bạn có thể xử lý và làm phong phú thêm dữ liệu chi tiết thô bằng cách sử dụng Lớp chuyển đổi tích hợp và mạnh mẽ của Hevo mà không cần viết một dòng mã nào

BẮT ĐẦU VỚI HEVO MIỄN PHÍ

Hevo là nền tảng sao chép dữ liệu nhanh nhất, dễ dàng nhất và đáng tin cậy nhất sẽ tiết kiệm gấp nhiều lần băng thông kỹ thuật và thời gian của bạn. Hãy dùng thử bản dùng thử miễn phí truy cập đầy đủ trong 14 ngày của chúng tôi ngay hôm nay để trải nghiệm Sao chép dữ liệu hoàn toàn tự động mà không gặp rắc rối

JSON là gì?

Tín dụng hình ảnh. Vừa phải

JSON, viết tắt của JavaScript Object Notation, là một định dạng nhẹ để lưu trữ và vận chuyển dữ liệu. Nó được sử dụng rộng rãi khi dữ liệu được truyền từ máy chủ đến trang web. Vì dữ liệu được tổ chức theo cặp khóa-giá trị nên con người cũng dễ hiểu dữ liệu hơn. Sự đơn giản của JSON khiến nó trở thành lựa chọn phổ biến cho các lập trình viên để cấu trúc và truyền dữ liệu giữa các ứng dụng.  

JSON là một định dạng chuỗi tương tự như các ký tự đối tượng JavaScript, do đó hỗ trợ các ký tự, số nguyên, mảng, bool và các ký tự đối tượng khác, giống như trong một đối tượng JavaScript điển hình

Ví dụ: một JSON điển hình sẽ trông như thế này

{
  "squadName": "Super hero squad",
  "homeTown": "Metro City",
  "formed": 2016,
  "secretBase": "Super tower",
  "active": true,
  "members": [
    {
      "name": "Molecule Man",
      "age": 29,
      "secretIdentity": "Dan Jukes",
      "powers": [
        "Radiation resistance",
        "Turning tiny",
        "Radiation blast"
      ]
    }

Như bạn có thể thấy ở trên, các thực thể JSON có định dạng rất nhất quán, giúp lập trình viên dễ hiểu và viết mã để xử lý dữ liệu ở định dạng JSON hơn.  

JSON cũng là ngôn ngữ bất khả tri, có nghĩa là nó tương thích với hầu hết mọi ngôn ngữ máy tính hiện tại. Ví dụ: nếu bạn phải sửa đổi ngôn ngữ của máy chủ web, việc này sẽ dễ dàng thực hiện vì định dạng JSON giống nhau trên tất cả các phương ngữ

Tạo Dataframes trong Pandas

Trong phần này của hướng dẫn Pandas Load JSON, chúng tôi thảo luận về nhiều cách để tạo Dataframe bằng Pandas

  • Tạo khung dữ liệu Pandas bằng danh sách
  • Tạo khung dữ liệu Pandas bằng từ điển
  • Tạo khung dữ liệu Pandas bằng cách sử dụng mảng
  • Tạo khung dữ liệu Pandas bằng chức năng Zip
  • Tạo Pandas Dataframe bằng Dictionary of Series
  • Tạo khung dữ liệu Pandas bằng danh sách từ điển

Tạo khung dữ liệu Pandas bằng danh sách

Đây là một ví dụ cơ bản để tạo một Khung dữ liệu Pandas bằng cách sử dụng một danh sách đơn giản gồm hai cột “Tên” và “Tuổi”

# Import pandas library
import pandas as pd

# initialize list of lists
data = [['tom', 10], ['nick', 15], ['juli', 14]]

# Create the pandas DataFrame
df = pd.DataFrame[data, columns = ['Name', 'Age']]

# print the data.  
print[df]

đầu ra

Name      Age
tom       10
nick      15
juli      14

Tạo khung dữ liệu Pandas bằng từ điển

Trong ví dụ này, chúng tôi tạo Pandas Dataframe bằng từ điển

________số 8

đầu ra

Name    Age
Tom     20
nick    21
krish   19
jack    18

Tạo khung dữ liệu Pandas bằng cách sử dụng mảng

Bạn cũng có thể sử dụng mảng để tạo Pandas Dataframe. Đây là một ví dụ để làm như vậy

    sepalLength   sepalWidth   petalLength    petalWidth    species
149     5.9          3.0          5.1           1.8         virginica
90      5.5          2.6          4.4           1.2         versicolor
56      6.3          3.3          4.7           1.6        versicolor
38 4.4 3.0 1.3 0.2 setosa
85 6.0 3.4 4.5 1.6 versicolor
0

đầu ra

    sepalLength   sepalWidth   petalLength    petalWidth    species
149     5.9          3.0          5.1           1.8         virginica
90      5.5          2.6          4.4           1.2         versicolor
56      6.3          3.3          4.7           1.6        versicolor
38 4.4 3.0 1.3 0.2 setosa
85 6.0 3.4 4.5 1.6 versicolor
1

Điều gì làm cho quy trình ETL của Hevo trở thành tốt nhất trong lớp?

Cung cấp giải pháp ETL chất lượng cao có thể là một nhiệm vụ khó khăn nếu bạn có một lượng lớn dữ liệu. Nền tảng không mã, tự động của Hevo trao quyền cho bạn mọi thứ bạn cần để có trải nghiệm sao chép dữ liệu mượt mà

Kiểm tra những gì làm cho Hevo tuyệt vời

  • Được quản lý hoàn toàn. Hevo không yêu cầu quản lý và bảo trì vì đây là một nền tảng hoàn toàn tự động
  • Chuyển đổi dữ liệu. Hevo cung cấp một giao diện đơn giản để hoàn thiện, sửa đổi và làm giàu dữ liệu bạn muốn truyền
  • Tạo thông tin chi tiết nhanh hơn. Hevo cung cấp khả năng sao chép dữ liệu gần thời gian thực để bạn có quyền truy cập vào việc tạo thông tin chi tiết theo thời gian thực và đưa ra quyết định nhanh hơn.  
  • Quản lý lược đồ. Hevo có thể tự động phát hiện lược đồ của dữ liệu đến và ánh xạ nó tới lược đồ đích
  • Cơ sở hạ tầng có thể mở rộng. Hevo có tích hợp sẵn cho hơn 100 nguồn [với hơn 40 nguồn miễn phí] có thể giúp bạn mở rộng quy mô cơ sở hạ tầng dữ liệu của mình theo yêu cầu
  • Hỗ trợ trực tuyến. Nhóm Hevo luôn sẵn sàng mở rộng hỗ trợ đặc biệt cho khách hàng của mình thông qua trò chuyện, email và các cuộc gọi hỗ trợ
Đăng ký tại đây để dùng thử miễn phí 14 ngày

Tạo khung dữ liệu Pandas bằng chức năng Zip

Một phương pháp khác là tạo Pandas Dataframe bằng hàm zip[] như hình bên dưới

    sepalLength   sepalWidth   petalLength    petalWidth    species
149     5.9          3.0          5.1           1.8         virginica
90      5.5          2.6          4.4           1.2         versicolor
56      6.3          3.3          4.7           1.6        versicolor
38 4.4 3.0 1.3 0.2 setosa
85 6.0 3.4 4.5 1.6 versicolor
2

đầu ra

Conda install pandas
0

Tạo Pandas Dataframe bằng Dictionary of Series

Sử dụng từ điển chuỗi để tạo Pandas Dataframe

Conda install pandas
1

đầu ra

Conda install pandas
2

Tạo khung dữ liệu Pandas bằng danh sách từ điển

Phương thức cuối cùng trong hướng dẫn Pandas Load JSON, sử dụng danh sách từ điển để tạo Pandas Dataframe

Conda install pandas
3

đầu ra

Conda install pandas
4

Pandas Tải JSON vào DataFrame

A. Gấu trúc tải JSON. Đọc JSON từ tệp cục bộ

Bước 1. Bạn cần tạo một tệp JSON chứa các chuỗi JSON

Conda install pandas
5

Bước 2. Lưu tệp với phần mở rộng. json để tạo tệp JSON

Bước 3. Tải tệp JSON trong Pandas bằng lệnh bên dưới

Conda install pandas
6

Bạn phải cung cấp đường dẫn được chỉ định nơi bạn. tệp json được đặt. Đầu ra thu được khi bạn sử dụng lệnh print[data] như sau

Tín dụng hình ảnh. cá dữ liệu

B. Gấu trúc tải JSON. Đọc JSON từ một URL

Các lệnh được đề cập bên dưới giúp bạn tải JSON từ một URL

Conda install pandas
7

đầu ra

Tín dụng hình ảnh. Vừa phải

Gấu trúc tải JSON. Pandas DataFrame sang tệp JSON

Để chuyển đổi Pandas DataFrame thành JSON, bạn có thể sử dụng một phương thức có tên to_json[], đây là một phương thức sẵn có.  

Pandas tải cú pháp khung dữ liệu JSON

Conda install pandas
8

Pandas tải ví dụ khung dữ liệu JSON

Conda install pandas
9

đầu ra

Tín dụng hình ảnh. Cổ tức ứng dụng

Sự kết luận

Trong bài viết này, bạn đã tìm hiểu về định dạng tệp JSON và cách tải nó vào DataFrame của Pandas. Bạn cũng đã học cách chuyển đổi Khung dữ liệu của Pandas thành tệp JSON. Hầu hết các nhà khoa học dữ liệu sử dụng Pandas để thao tác thông tin trước khi phát triển Mô hình học máy. Khi làm việc với Dữ liệu lớn, bạn sẽ thường bắt gặp các tệp JSON tải của Pandas. Biết cách tải JSON vào DataFrame có thể đơn giản hóa các tác vụ Phân tích dữ liệu và Học máy của bạn.  

Các công ty sử dụng cơ sở dữ liệu như MySQL và PostgreSQL nhận thấy Hevo Data là một giải pháp ETL đơn giản và nhanh chóng để xây dựng Đường ống cơ sở dữ liệu của họ

Hevo mang đến cho họ Giải pháp đường ống ETL không mã. Nó cho phép bạn di chuyển dữ liệu của mình từ hơn 100 Nguồn dữ liệu sang bất kỳ Kho dữ liệu nào bạn chọn như Amazon Redshift, Snowflake, Google BigQuery hoặc Firebolt trong vòng vài phút chỉ bằng vài cú nhấp chuột

Bất kỳ cá nhân hoặc nhóm nào, ngay cả từ nhóm không có dữ liệu đều có thể thiết lập Đường ống dữ liệu từ Cơ sở dữ liệu hoặc Ứng dụng SaaS của họ vào Kho dữ liệu của họ trong nháy mắt và bắt đầu tải dữ liệu của họ.  

Ghé thăm trang web của chúng tôi để khám phá Hevo

Đừng tin vào lời nói của họ? . Đăng ký tại đây để dùng thử truy cập đầy đủ tính năng trong 14 ngày và tận mắt trải nghiệm bộ Hevo giàu tính năng

Panda có thể đọc JSON không?

có thể sử dụng hàm pandas read_json[] để đọc tệp hoặc chuỗi JSON vào DataFrame . Nó hỗ trợ JSON ở một số định dạng bằng cách sử dụng tham số định hướng. JSON là viết tắt của Ký hiệu đối tượng JavaScript, là định dạng tệp được sử dụng nhiều nhất được sử dụng để trao đổi dữ liệu giữa hai hệ thống hoặc ứng dụng web.

Python có thể truy cập các tệp JSON không?

Python hỗ trợ JSON tự nhiên . Python đi kèm với gói tích hợp có tên là json để mã hóa và giải mã dữ liệu JSON.

Chủ Đề