Nối Dict vào DataFrame trong Pandas

Noi Dict Vao Dataframe Trong Pandas



Chúng ta sẽ thảo luận về cách thêm một từ điển vào Pandas DataFrame hiện có bằng cách sử dụng các hàm pandas.DataFrame.append() và pandas.concat() cùng với các ví dụ. Ở đây, từ điển đề cập đến cặp khóa:giá trị sao cho khóa đề cập đến các nhãn cột hiện có trong DataFrame và các giá trị được thêm vào một hàng. Ngoài ra, chúng ta sẽ xem các ví dụ nối nhiều từ điển vào Khung dữ liệu Pandas.

Sử dụng Pandas.DataFrame.Append

Hàm pandas.DataFrame.append() được sử dụng để nối các hàng của DataFrame khác vào DataFrame hiện có. Nếu các cột trong DataFrame hiện tại không tồn tại thì các cột DataFrame khác sẽ được tạo trong DataFrame hiện có. Sử dụng chức năng này theo cách mà hàng phải được chèn vào DataFrame bằng cách thêm từ điển.

Cú pháp :







Sau đây là cú pháp thực tế của hàm pandas.DataFrame.append():



gấu trúc. Khung dữ liệu . nối thêm ( khác , bỏ qua_index , xác minh_toàn vẹn , loại )
  1. khác : Điều này đề cập đến một DataFrame khác trong đó các hàng của DataFrame này được thêm vào DataFrame hiện có. Nếu bạn muốn nối thêm một hàng, bạn cần chuyển một từ điển các giá trị làm tham số.
  2. bỏ qua_index (theo mặc định = Sai): Tham số này được sử dụng khi bạn thêm các hàng vào DataFrame đã có hàng. Nếu là “Sai”, các chỉ mục hàng hiện có cũng được thêm vào. Nếu là “Đúng”, các hàng được gắn nhãn từ 0 đến n-1. Đảm bảo rằng tham số này được đặt thành “Đúng” trong khi thêm từ điển vào DataFrame. Nếu không, một loại lỗi sẽ xuất hiện – “TypeError: Chỉ có thể nối thêm một lệnh nếu bỏ qua_index=True”.
  3. Chúng ta có thể kiểm tra các chỉ mục trùng lặp bằng cách sử dụng tham số verify_integrity (theo mặc định = Sai). Nếu các chỉ mục trùng lặp và verify_integrity được đặt thành “True”, nó sẽ trả về “ValueError: Các chỉ mục có các giá trị chồng chéo”.
  4. Có thể sắp xếp các cột nếu các cột của DataFrame hiện có và DataFrame khác không được căn chỉnh bằng cách sử dụng tham số sắp xếp bằng cách đặt nó thành “Đúng” (theo mặc định = Sai).

Ví dụ 1: Nối một từ điển đơn

Tạo Khung dữ liệu Pandas với bốn cột – “Tên chiến dịch”, “Vị trí”, “Ngày bắt đầu” và “Ngân sách” – và ba hàng. Nối một từ điển vào DataFrame này.



nhập khẩu gấu trúc

# Tạo DataFrame - Chiến dịch 4 cột 3 hàng
Chiến dịch = gấu trúc. Khung dữ liệu ( [ [ 'Trại tiếp thị' , 'Ấn Độ' , '12/01/2023' , 8000 ] ,
[ 'Trại bán hàng' , 'Nước Ý' , '25/01/2022' , 10000 ] ,
[ 'Trại khác' , 'HOA KỲ' , '17/04/2023' , 2000 ] ] ,
cột = [ 'Tên chiến dịch' , 'Vị trí' , 'Ngày bắt đầu' , 'Ngân sách' ] )
in ( Chiến dịch , ' \N ' )

# Nối thêm một hàng
Chiến dịch = Chiến dịch. nối thêm ( { 'Tên chiến dịch' : 'Trại kỹ thuật' , 'Vị trí' : 'HOA KỲ' , 'Ngày bắt đầu' : '12/05/2023' , 'Ngân sách' : 2000 } , bỏ qua_index = ĐÚNG VẬY )
in ( Chiến dịch , ' \N ' )

đầu ra :





Chúng ta có thể thấy rằng từ điển được thêm vào Khung dữ liệu “Chiến dịch”. Chỉ mục của hàng mới này là 3 vì chỉ mục này bị bỏ qua.



Ví dụ 2: Nối nhiều từ điển

Sử dụng cùng một DataFrame được tạo trong Ví dụ 1 và nối ba hàng cùng một lúc bằng hàm pandas.DataFrame.append(). Đặt tham số ign_index thành “True”.

nhập khẩu gấu trúc

# Tạo DataFrame - Chiến dịch 4 cột 3 hàng
Chiến dịch = gấu trúc. Khung dữ liệu ( [ [ 'Trại tiếp thị' , 'Ấn Độ' , '12/01/2023' , 8000 ] ,
[ 'Trại bán hàng' , 'Nước Ý' , '25/01/2022' , 10000 ] ,
[ 'Trại khác' , 'HOA KỲ' , '17/04/2023' , 2000 ] ] ,
cột = [ 'Tên chiến dịch' , 'Vị trí' , 'Ngày bắt đầu' , 'Ngân sách' ] )
in ( Chiến dịch , ' \N ' )

Chiến dịch = Chiến dịch. nối thêm ( { 'Tên chiến dịch' : 'Trại kỹ thuật' , 'Vị trí' : 'HOA KỲ' , 'Ngày bắt đầu' : '12/05/2023' , 'Ngân sách' : 2000 } , bỏ qua_index = ĐÚNG VẬY )
Chiến dịch = Chiến dịch. nối thêm ( { 'Tên chiến dịch' : 'Trại tiếp thị' , 'Vị trí' : 'Ấn Độ' , 'Ngày bắt đầu' : '23/06/2023' , 'Ngân sách' : 9000 } , bỏ qua_index = ĐÚNG VẬY )
Chiến dịch = Chiến dịch. nối thêm ( { 'Tên chiến dịch' : 'Trại bán hàng' , 'Vị trí' : 'Nước Ý' , 'Ngày bắt đầu' : '24/01/2023' , 'Ngân sách' : 1200 } , bỏ qua_index = ĐÚNG VẬY )
in ( Chiến dịch )

đầu ra :

Ba hàng được nối lần lượt với các chỉ mục 3, 4 và 5 vào DataFrame hiện có.

Sử dụng Pandas.Concat

Hàm pandas.concat() nối hai hoặc nhiều DataFrames dọc theo hàng hoặc cột. Vì vậy, chúng ta cần chuyển đổi từ điển sang DataFrame và chuyển hai DataFrames cho hàm này.

Cú pháp :

Nối một từ điển vào DataFrame hiện có:

gấu trúc. concat ( [ Hiện có_DataFrame , Đã chuyển đổi_Từ điển ] , trục = 0 , bỏ qua_index , xác minh_toàn vẹn )
  1. Nếu trục = 0, việc ghép nối được thực hiện dọc theo các hàng. Việc ghép nối được thực hiện dọc theo các cột nếu nó được đặt Viết hoa cần thiết Ứng dụng vì đây là tiêu đề phụ. Đã thêm bài viết cần thiết cho ngắn gọn.to 1.
  2. ign_index (theo mặc định = Sai): Tham số này được sử dụng khi bạn thêm các hàng vào DataFrame đã có hàng. Nếu là “Sai”, các chỉ mục hàng hiện có cũng được thêm vào. Nếu là “Đúng”, các hàng được gắn nhãn từ 0 đến n-1.
  3. Chúng ta có thể kiểm tra các chỉ mục trùng lặp bằng cách sử dụng tham số verify_integrity (theo mặc định = Sai). Nếu các chỉ mục trùng lặp và verify_integrity được đặt thành “True”, nó sẽ trả về “ValueError: Các chỉ mục có các giá trị chồng chéo”.

Ví dụ 1: Nối một từ điển đơn

Tạo Khung dữ liệu Pandas với bốn cột – “Tên chiến dịch”, “Vị trí”, “Ngày bắt đầu” và “Ngân sách” – và ba hàng. Sử dụng hàm pandas.concat(), nối thêm một từ điển (DataFrame) dưới dạng hàng vào DataFrame này.

nhập khẩu gấu trúc


# Tạo DataFrame - Chiến dịch 4 cột 3 hàng
Chiến dịch = gấu trúc. Khung dữ liệu ( [ [ 'Trại tiếp thị' , 'Ấn Độ' , '12/01/2023' , 8000 ] ,
[ 'Trại bán hàng' , 'Nước Ý' , '25/01/2022' , 10000 ] ,
[ 'Trại khác' , 'HOA KỲ' , '17/04/2023' , 2000 ] ] ,
cột = [ 'Tên chiến dịch' , 'Vị trí' , 'Ngày bắt đầu' , 'Ngân sách' ] )
in ( Chiến dịch , ' \N ' )

từ điển_from_DataFrame = gấu trúc. Khung dữ liệu ( [ { 'Tên chiến dịch' : 'Trại dịch vụ' , 'Vị trí' : 'HOA KỲ' , 'Ngày bắt đầu' : '17/04/2023' , 'Ngân sách' : 1000 } ] )

# Nối thêm một hàng
Chiến dịch = gấu trúc. concat ( [ Chiến dịch , từ điển_from_DataFrame ] , trục = 0 )
in ( Chiến dịch , ' \N ' )

đầu ra :

Chúng ta có thể thấy rằng từ điển được thêm vào Khung dữ liệu “Chiến dịch”. Chỉ mục của hàng mới này là 0 vì chỉ mục này không bị bỏ qua.

Ví dụ 2: Nối nhiều từ điển

Sử dụng DataFrame trước đó và nối thêm ba từ điển (DataFrame) bằng cách bỏ qua chỉ mục.

nhập khẩu gấu trúc


# Tạo DataFrame - Chiến dịch 4 cột 3 hàng
Chiến dịch = gấu trúc. Khung dữ liệu ( [ [ 'Trại tiếp thị' , 'Ấn Độ' , '12/01/2023' , 8000 ] ,
[ 'Trại bán hàng' , 'Nước Ý' , '25/01/2022' , 10000 ] ,
[ 'Trại khác' , 'HOA KỲ' , '17/04/2023' , 2000 ] ] ,
cột = [ 'Tên chiến dịch' , 'Vị trí' , 'Ngày bắt đầu' , 'Ngân sách' ] )
in ( Chiến dịch , ' \N ' )

từ điển_from_DataFrame = gấu trúc. Khung dữ liệu ( [ { 'Tên chiến dịch' : 'Trại công nghệ' , 'Vị trí' : 'HOA KỲ' , 'Ngày bắt đầu' : '17/05/2023' , 'Ngân sách' : 1000 } ,
{ 'Tên chiến dịch' : 'Các dịch vụ xã hội' , 'Vị trí' : 'Nhật Bản' , 'Ngày bắt đầu' : '17/04/2023' , 'Ngân sách' : 200 } ,
{ 'Tên chiến dịch' : 'Trại bán hàng' , 'Vị trí' : 'HOA KỲ' , 'Ngày bắt đầu' : '18/04/2023' , 'Ngân sách' : 500 } ] )

# Nối nhiều hàng
Chiến dịch = gấu trúc. concat ( [ Chiến dịch , từ điển_from_DataFrame ] , trục = 0 , bỏ qua_index = ĐÚNG VẬY )
in ( Chiến dịch , ' \N ' )

đầu ra :

Chúng ta có thể thấy rằng ba từ điển được thêm vào Khung dữ liệu “Chiến dịch”. Chỉ số của các từ điển này là 3, 4 và 5 do tham số ign_index được đặt thành “Sai”.

Phần kết luận

Từ điển đơn/nhiều được thêm vào DataFrame bằng cách sử dụng các hàm pandas.DataFrame.append() và pandas.concat(). Chỉ mục của các hàng mới có thể là duy nhất bằng cách đặt tham số ign_index thành “True” trong hàm pandas.concat(). Trong khi sử dụng hàm pandas.DataFrame.append(), hãy đặt tham số ign_index thành “True”. Ngược lại, TypeError sẽ được nâng lên.