Hướng dẫn python json to columns - python json đến các cột

Bạn có thể sử dụng

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]
8 để đọc cột giá trị từ điển của mình thành các cột.

Tạo dữ liệu

data = {
    'Id' : [11, 22, 33],
    'Data': ["{'Name': 'Sam', 'Age': 21}", "{'Name': 'Nam', 'Age': 22}", "{'Name': 'Pam', 'Age': 21, 'Salary': 10000}"],
    }
df = pd.DataFrame[data]

Chuyển đổi từ điển sang cột

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]

Đầu ra:

   Id Name  Age   Salary
0  11  Sam   21      NaN
1  22  Nam   22      NaN
2  33  Pam   21  10000.0

Giải pháp thay thế

Bạn cũng có thể sử dụng

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]
9 để làm sáng tỏ cột từ điển đến cột từ các khóa từ điển.

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, pd.json_normalize[df.pop["Data"]]], axis=1]

cung cấp cho bạn đầu ra giống nhau

Nội phân Chính showShow

  • Một số thủ thuật gấu trúc hữu ích nhất
  • 1. Đọc JSON đơn giản từ tệp cục bộ
  • 2. Đọc JSON đơn giản từ URL
  • 3. Danh sách lồng nhau từ đối tượng JSON
  • 4. Danh sách lồng nhau và Dict từ đối tượng JSON
  • 5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâu
  • Bạn có thể quan tâm đến một số bài báo Pandas khác của tôi:
  • Làm cách nào để đọc tệp JSON vào DataFrame trong Python?
  • Làm thế nào để bạn tạo một khung dữ liệu từ tệp JSON trong Python?
  • Chúng ta có thể chuyển đổi JSON thành DataFrame trong Python không?
  • Pandas có thể nhập JSON không?

Một số thủ thuật gấu trúc hữu ích nhất

1. Đọc JSON đơn giản từ tệp cục bộ

2. Đọc JSON đơn giản từ URL

  1. 3. Danh sách lồng nhau từ đối tượng JSON
  2. 4. Danh sách lồng nhau và Dict từ đối tượng JSON
  3. 5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâu
  4. Bạn có thể quan tâm đến một số bài báo Pandas khác của tôi:
  5. Làm cách nào để đọc tệp JSON vào DataFrame trong Python?

Chuyển đổi JSON thành DataFrame Pandas [hình ảnh của tác giả bằng canva.com]

1. Đọc JSON đơn giản từ tệp cục bộ

2. Đọc JSON đơn giản từ URL

[
{
"id": "A001",
"name": "Tom",
"math": 60,
"physics": 66,
"chemistry": 61
},
{
"id": "A002",
"name": "James",
"math": 89,
"physics": 76,
"chemistry": 51
},
{
"id": "A003",
"name": "Jenny",
"math": 79,
"physics": 90,
"chemistry": 78
}
]

3. Danh sách lồng nhau từ đối tượng JSON

df = pd.read_json['data/simple.json']

4. Danh sách lồng nhau và Dict từ đối tượng JSON

5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâumath, physics, and chemistry columns have been cast to int64.

>>> df.info[]
RangeIndex: 3 entries, 0 to 2
Data columns [total 5 columns]:
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 id 3 non-null object
1 name 3 non-null object
2 math 3 non-null int64
3 physics 3 non-null int64
4 chemistry 3 non-null int64
dtypes: int64[3], object[2]
memory usage: 248.0+ bytes

2. Đọc JSON đơn giản từ URL

3. Danh sách lồng nhau từ đối tượng JSON

URL = '//raw.githubusercontent.com/BindiChen/machine-learning/master/data-analysis/027-pandas-convert-json/data/simple.json'df = pd.read_json[URL]

4. Danh sách lồng nhau và Dict từ đối tượng JSON

5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâu

3. Danh sách lồng nhau từ đối tượng JSON

4. Danh sách lồng nhau và Dict từ đối tượng JSON

{
"school_name": "ABC primary school",
"class": "Year 1",
"students": [
{
"id": "A001",
"name": "Tom",
"math": 60,
"physics": 66,
"chemistry": 61
},
{
"id": "A002",
"name": "James",
"math": 89,
"physics": 76,
"chemistry": 51
},
{
"id": "A003",
"name": "Jenny",
"math": 79,
"physics": 90,
"chemistry": 78
}]

}

5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâu

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]
0

4. Danh sách lồng nhau và Dict từ đối tượng JSON

5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâustudents. How can we flatten the nested list? One solution is to apply a custom function to flatten the values in students.

Bạn có thể quan tâm đến một số bài báo Pandas khác của tôi:

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]
1

4. Danh sách lồng nhau và Dict từ đối tượng JSON

5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâujson module. After that,

   Id Name  Age   Salary
0  11  Sam   21      NaN
1  22  Nam   22      NaN
2  33  Pam   21  10000.0
1 is called with the argument
df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, pd.json_normalize[df.pop["Data"]]], axis=1]
0 set to
df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, pd.json_normalize[df.pop["Data"]]], axis=1]
1 to flatten the nested list in students.

Bạn có thể quan tâm đến một số bài báo Pandas khác của tôi:school_name and class. To include them, we can use the argument

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, pd.json_normalize[df.pop["Data"]]], axis=1]
2 to specify a list of metadata we want in the result.

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]
2

4. Danh sách lồng nhau và Dict từ đối tượng JSON

4. Danh sách lồng nhau và Dict từ đối tượng JSON

5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâu

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]
3

Bạn có thể quan tâm đến một số bài báo Pandas khác của tôi:ValueError when trying to read it using

   Id Name  Age   Salary
0  11  Sam   21      NaN
1  22  Nam   22      NaN
2  33  Pam   21  10000.0
0.

Làm cách nào để đọc tệp JSON vào DataFrame trong Python?

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]
4

4. Danh sách lồng nhau và Dict từ đối tượng JSON

5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâuclass, president [a property of info], and tel [a property of contacts.info], we can use the argument

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, pd.json_normalize[df.pop["Data"]]], axis=1]
2 to specify the path to the property.

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]
5

4. Danh sách lồng nhau và Dict từ đối tượng JSON

5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâu

5. Trích xuất một giá trị duy nhất từ ​​JSON được lồng sâu

Bạn có thể quan tâm đến một số bài báo Pandas khác của tôi:math from the following JSON file.

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]
6

Làm thế nào chúng ta có thể làm điều đó hiệu quả hơn? Câu trả lời là sử dụng read_json với glom.read_json with glom.

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, df.pop["Data"].apply[pd.Series]], axis=1]
7

GLOM là một thư viện Python cho phép chúng tôi sử dụng ký hiệu

df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, pd.json_normalize[df.pop["Data"]]], axis=1]
8 để truy cập thuộc tính từ một đối tượng được lồng sâu. is a Python library that allows us to use
df['Data'] = df['Data'].map[lambda x: eval[x] if pd.notnull[x] else x]
df = pd.concat[[df, pd.json_normalize[df.pop["Data"]]], axis=1]
8 notation to access property from a deeply nested object.

Sự kết luận

Chức năng Pandas

   Id Name  Age   Salary
0  11  Sam   21      NaN
1  22  Nam   22      NaN
2  33  Pam   21  10000.0
0 là một cách nhanh chóng và thuận tiện để chuyển đổi JSON phẳng đơn giản thành một khung dữ liệu gấu trúc. Khi xử lý JSON lồng nhau, chúng ta có thể sử dụng chức năng
   Id Name  Age   Salary
0  11  Sam   21      NaN
1  22  Nam   22      NaN
2  33  Pam   21  10000.0
1 tích hợp.

Tôi hy vọng bài viết này sẽ giúp bạn tiết kiệm thời gian trong việc chuyển đổi dữ liệu JSON thành DataFrame. Tôi khuyên bạn nên kiểm tra tài liệu cho API

   Id Name  Age   Salary
0  11  Sam   21      NaN
1  22  Nam   22      NaN
2  33  Pam   21  10000.0
0 và
   Id Name  Age   Salary
0  11  Sam   21      NaN
1  22  Nam   22      NaN
2  33  Pam   21  10000.0
1 và để biết về những điều khác bạn có thể làm.

Cảm ơn vì đã đọc. Vui lòng kiểm tra sổ ghi chép cho mã nguồn và theo dõi nếu bạn quan tâm đến khía cạnh thực tế của học máy.

Bạn có thể quan tâm đến một số bài báo Pandas khác của tôi:

  • Sử dụng chuỗi phương pháp gấu trúc để cải thiện khả năng đọc mã
  • Tất cả pandas json_normalizing [] bạn nên biết để làm phẳng json
  • Cách thực hiện sắp xếp tùy chỉnh trên Pandas DataFrame
  • Tất cả các pandas thay đổi [] bạn nên biết để phân tích dữ liệu
  • Khi nào nên sử dụng hàm pandas transform []
  • Gấu trúc concat [] thủ thuật bạn nên biết
  • Sự khác biệt giữa Ứng dụng [] và biến đổi [] trong gấu trúc
  • Tất cả các gấu trúc hợp nhất [] bạn nên biết
  • Làm việc với DateTime trong Pandas DataFrame
  • Pandas read_csv [] thủ thuật bạn nên biết
  • 4 thủ thuật bạn nên biết các cột Ngày phân tích cú pháp với Pandas Read_csv []

Nhiều hướng dẫn có thể được tìm thấy trên github của tôi

Làm cách nào để đọc tệp JSON vào DataFrame trong Python?

Đọc các tệp JSON bằng cách sử dụng gấu trúc để đọc các tệp, chúng tôi sử dụng hàm read_json [] và thông qua nó, chúng tôi chuyển đường dẫn đến tệp JSON mà chúng tôi muốn đọc. Khi chúng tôi làm điều đó, nó sẽ trả về một Data DataFrame [một bảng các hàng và cột] lưu trữ dữ liệu.use read_json[] function and through it, we pass the path to the JSON file we want to read. Once we do that, it returns a “DataFrame”[ A table of rows and columns] that stores data.

Làm thế nào để bạn tạo một khung dữ liệu từ tệp JSON trong Python?

Làm thế nào để làm nó…..

Để tạo một dữ liệu gấu trúc từ tệp JSON, trước tiên hãy nhập các thư viện Python mà bạn cần: ....

Tiếp theo, xác định một biến cho tệp JSON và nhập đường dẫn đầy đủ vào tệp: ....

Tiếp theo, hãy tạo DataFrame từ tệp JSON bằng phương thức read_json [] do gấu trúc cung cấp ..

Chúng ta có thể chuyển đổi JSON thành DataFrame trong Python không?

Bạn có thể chuyển đổi JSON thành Pandas DataFrame bằng cách sử dụng read_json []. Chỉ cần chuyển chuỗi JSON cho chức năng. Nó có nhiều tham số, đối với trường hợp của chúng tôi, tôi đang sử dụng Orient, chỉ định định dạng của chuỗi JSON. Hàm này cũng được sử dụng để đọc các tệp JSON vào Pandas DataFrame. . Just pass JSON string to the function. It takes multiple parameters, for our case I am using orient that specifies the format of JSON string. This function is also used to read JSON files into pandas DataFrame.

Pandas có thể nhập JSON không?

Pandas Tải JSON vào DataFrame Bước 1: Bạn cần tạo tệp JSON chứa chuỗi JSON. Bước 2: Lưu tệp với phần mở rộng. JSON để tạo một tệp JSON. Bước 3: Tải tệp JSON trong gấu trúc bằng lệnh bên dưới.Step 1: You need to create a JSON file that contains JSON strings. Step 2: Save the file with extension . json to create a JSON file. Step 3: Load the JSON file in Pandas using the command below.

Bài Viết Liên Quan

Chủ Đề