Làm cách nào để thêm một cột vào khung dữ liệu csv trong python?

Chủ sở hữu của Học viện Finxter đã yêu cầu bạn thêm một cột mới vào tệp CSV hiện tại của họ có tên là Total_Chrgs

💬 câu hỏi. Làm cách nào để chúng tôi viết mã Python để thêm một cột mới vào tệp CSV?

Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau

  • Phương pháp 1. Thêm một cột có giá trị mặc định
  • Phương pháp 2. Thêm một cột có giá trị được tính toán
  • Phương pháp 3. Thêm một cột bằng Lambda với các giá trị được tính toán
  • Phương pháp 4. Thêm một cột bằng cách sử dụng assign() với các giá trị được gán

Sự chuẩn bị

Trước khi bất kỳ thao tác dữ liệu nào có thể xảy ra, một (1) thư viện mới sẽ yêu cầu cài đặt

  • Thư viện Pandas cho phép truy cập vào/từ DataFrame

Để cài đặt thư viện này, hãy điều hướng đến một thiết bị đầu cuối IDE. Tại dấu nhắc lệnh ($), hãy thực thi mã bên dưới. Đối với thiết bị đầu cuối được sử dụng trong ví dụ này, dấu nhắc lệnh là ký hiệu đô la ($). Lời nhắc thiết bị đầu cuối của bạn có thể khác

$ pip install pandas

Nhấn phím <Enter> trên bàn phím để bắt đầu quá trình cài đặt

Nếu quá trình cài đặt thành công, một thông báo sẽ hiển thị trong thiết bị đầu cuối cho biết điều tương tự


Vui lòng xem hướng dẫn cài đặt PyCharm để biết thư viện cần thiết

  • Cách cài đặt gấu trúc trên PyCharm

Thêm đoạn mã sau vào đầu mỗi đoạn mã. Đoạn mã này sẽ cho phép mã trong bài viết này chạy không có lỗi

import pandas as pd

💡 Lưu ý. Để làm theo, nhấp vào đây để tải xuống tệp CSV Finxter và di chuyển tệp này vào thư mục làm việc hiện tại


Phương pháp 1. Thêm một cột có giá trị mặc định

Trong ví dụ này, một cột mới được thêm vào và được gán một giá trị mặc định duy nhất là 0 (

import pandas as pd
0)

df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = 0
df.to_csv('finxter1.csv', index=False)

Mã này đọc trong tệp

import pandas as pd
1 hiện có, hợp lý hóa nó thành một vài cột cho ngắn gọn và lưu nó vào DataFrame

Một cột Khung dữ liệu mới

import pandas as pd
2 được thêm vào và được gán giá trị mặc định là 0 cho mỗi mục nhập. Kết quả lưu vào
import pandas as pd
3

Đầu ra (đoạn mã) với

import pandas as pd
4

Ví dụ này đặt

import pandas as pd
5 để bỏ qua các giá trị chỉ mục khi ghi vào tệp CSV. Nếu điều này được đặt thành
import pandas as pd
6, tệp sẽ hiển thị với cột chỉ mục như hình bên dưới

Làm cách nào để thêm một cột vào khung dữ liệu csv trong python?

Đầu ra (đoạn mã) với chỉ mục=Sai

Để lại cái này là

import pandas as pd
7 sẽ cho chúng tôi đầu ra mà chúng tôi đang tìm kiếm. không có cột chỉ mục bổ sung

Làm cách nào để thêm một cột vào khung dữ liệu csv trong python?

💡 Lưu ý. Đối với mục đích thử nghiệm, chúng tôi có thể đề xuất ghi nội dung vào tệp CSV mới và không ghi đè lên tệp gốc


Phương pháp 2. Thêm một cột có giá trị được tính toán

Một cột mới được thêm vào trong ví dụ này và một phép tính tập hợp được thực hiện và gán cho từng mục nhập

df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = round(df['Recurring'] * (df['Taxes']/100) + df['Recurring'], 2)
df.to_csv('finxter2.csv', index=False)

Mã này đọc trong tệp

import pandas as pd
1 hiện có, hợp lý hóa nó thành một vài cột cho ngắn gọn và lưu nó vào DataFrame

Một cột mới

import pandas as pd
2 được thêm vào và các phép tính được thực hiện trên mỗi mục nhập. Kết quả được làm tròn đến hai (2) chữ số thập phân và được lưu vào _______3_______0

Đầu ra (đoạn trích)

Làm cách nào để thêm một cột vào khung dữ liệu csv trong python?


Phương pháp 3. Thêm một cột bằng Lambda với các giá trị được tính toán

Trong ví dụ này, một cột mới được thêm vào và một phép tính tập hợp được thực hiện và gán cho từng mục nhập bằng cách sử dụng Lambda

df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = df.apply(lambda row: round(row['Recurring'] * (row['Taxes']/100) + row['Recurring'], 2), axis=1)
df.to_csv('finxter3.csv', index=False) 

💡Một Finxter yêu thích

Mã này đọc trong tệp

import pandas as pd
1 hiện có, hợp lý hóa nó thành một vài cột cho ngắn gọn và lưu nó vào DataFrame

Một cột mới

import pandas as pd
2 được thêm vào và Lambda thực hiện các phép tính trên mỗi mục nhập, làm tròn đến hai (2) chữ số thập phân. Đầu ra lưu vào
df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = 0
df.to_csv('finxter1.csv', index=False)
3

Hãy chơi Finxter - Hàm Lambda trong Python

Làm cách nào để thêm một cột vào khung dữ liệu csv trong python?

Xem video này trên YouTube

Đầu ra (đoạn trích)

Làm cách nào để thêm một cột vào khung dữ liệu csv trong python?


Phương pháp 4. Thêm một cột bằng cách sử dụng gán () với các giá trị được gán

Trong ví dụ này, một cột mới được thêm vào, sắp xếp và assign() được sử dụng để đặt giá trị mới cho bốn (4) bản ghi hàng đầu

df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df.sort_values(by=['Recurring'], ascending=False, inplace=True)
df = df.head(4)
df = df.assign(Total_Chrgs=[12.98, 12.98, 11.98, 10.98])
df.to_csv('finxter4.csv', index=False) 

Mã này đọc trong tệp

import pandas as pd
1 hiện có, hợp lý hóa nó thành một vài cột cho ngắn gọn và lưu nó vào DataFrame

Sau đó, DataFrame được sắp xếp theo thứ tự giảm dần dựa trên khoản phí

df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = 0
df.to_csv('finxter1.csv', index=False)
6 và bốn (4) hàng trên cùng trả về (_______3_______7). Các hàng này được gán các giá trị hiển thị trong tham số Danh sách assign(). Đầu ra lưu vào
df = pd.read_csv('finxter.csv', usecols=['FID', 'First_Name', 'Last_Name', 'Recurring', 'Taxes'])
df['Total_Chrgs'] = 0
df.to_csv('finxter1.csv', index=False)
9

Đầu ra (đoạn trích)

Làm cách nào để thêm một cột vào khung dữ liệu csv trong python?


Tóm lược

Bốn (4) phương pháp thêm Cột DataFrame này sẽ cung cấp cho bạn đủ thông tin để chọn phương pháp tốt nhất cho các yêu cầu viết mã của bạn