Trước hết, như mọi người nói - định dạng CSV trông đơn giản, nhưng nó có thể khá không cần thiết, đặc biệt là một khi các chuỗi vào chơi. Monkut đã cung cấp cho bạn hai giải pháp, phiên bản được làm sạch của mã của bạn và một giải pháp nữa sử dụng thư viện CSV. Tôi sẽ đưa ra một tùy chọn khác: Không có thư viện, nhưng nhiều mã thành ngữ để nhai, cung cấp cho bạn mức trung bình cho tất cả các cột cùng một lúc.
def get_averages[csv]:
column_sums = None
with open[csv] as file:
lines = file.readlines[]
rows_of_numbers = [map[float, line.split[',']] for line in lines]
sums = map[sum, zip[*rows_of_numbers]]
averages = [sum_item / len[lines] for sum_item in sums]
return averages
Những điều cần lưu ý: Trong mã của bạn, f
là một đối tượng tệp. Bạn cố gắng đóng nó sau khi bạn đã trả lại giá trị. Mã này sẽ không bao giờ đạt được: Không có gì thực thi sau khi return
được xử lý, trừ khi bạn có cấu trúc try...finally
hoặc cấu trúc with
[như tôi đang sử dụng - sẽ tự động đóng luồng].
import pandas as pd df = pd.read_csv [r'Path where the CSV file is stored\File name.csv'] print [df]0 hoặc tương đương
import pandas as pd df = pd.read_csv [r'Path where the CSV file is stored\File name.csv'] print [df]1, tạo ra một danh sách mới có các phần tử có được bằng cách áp dụng chức năng
f
trên mỗi phần tử trên import pandas as pd df = pd.read_csv [r'Path where the CSV file is stored\File name.csv'] print [df]3.
import pandas as pd df = pd.read_csv [r'Path where the CSV file is stored\File name.csv'] print [df]4 sẽ "giải nén" danh sách
import pandas as pd df = pd.read_csv [r'Path where the CSV file is stored\File name.csv'] print [df]3 trước khi gọi chức năng, đưa ra chức năng
f
mỗi phần tử dưới dạng một đối số riêng biệt.Pandas & nbsp; là một gói Python mạnh mẽ có thể được sử dụng để thực hiện phân tích thống kê. Trong hướng dẫn này, bạn sẽ thấy cách sử dụng gấu trúc để tính toán số liệu thống kê từ tệp CSV đã nhập.
Ví dụ
Để chứng minh cách tính toán số liệu thống kê từ tệp CSV đã nhập, hãy để xem lại một ví dụ đơn giản với bộ dữ liệu sau:
Tên | Lương | Quốc gia |
Dan | 40000 | Hoa Kỳ |
Elizabeth | 32000 | Brazil |
Jon | 45000 | Nước Ý |
Maria | 54000 | Hoa Kỳ |
Elizabeth | 72000 | Hoa Kỳ |
Elizabeth | 62000 | Brazil |
Jon | 92000 | Nước Ý |
Maria | 55000 | Hoa Kỳ |
Elizabeth | 35000 | Nước Ý |
Maria | 48000 | Brazil |
Jon
Nước Ýstats.
Maria
Đánh dấu
import pandas as pd df = pd.read_csv [r'Path where the CSV file is stored\File name.csv'] print [df]
Hóa đơn
Jess
Juliastats CSV file is captured below [note that you’ll need to modify the path to reflect the location where the CSV file is stored on your computer]:
import pandas as pd df = pd.read_csv [r'C:\Users\Ron\Desktop\stats.csv'] print [df]
Jeff
BenBước 1: Sao chép tập dữ liệu vào tệp CSV
Để bắt đầu, bạn sẽ cần sao chép bộ dữ liệu trên vào tệp CSV. Sau đó đổi tên tệp CSV thành số liệu thống kê.
- Bước 2: Nhập tệp CSV vào Python
- Tiếp theo, bạn sẽ cần nhập tệp CSV vào Python bằng mẫu này:
- Maximum salary
- Dưới đây là một ví dụ về đường dẫn lưu trữ tệp CSV:
- & nbsp; c: \ users \ ron \ Desktop \ StatS.CSV
- Vì vậy, mã hoàn chỉnh để nhập & nbsp; Tệp CSV thống kê được ghi lại bên dưới [lưu ý rằng bạn sẽ cần sửa đổi đường dẫn để phản ánh vị trí lưu trữ tệp CSV trên máy tính của bạn]:
- Khi bạn chạy mã trong Python [được điều chỉnh theo đường dẫn của bạn], bạn sẽ nhận được dữ liệu sau:
-
Name Salary Country 0 Dan 40000 USA 1 Elizabeth 32000 Brazil 2 Jon 45000 Italy 3 Maria 54000 USA 4 Mark 72000 USA 5 Bill 62000 Brazil 6 Jess 92000 Italy 7 Julia 55000 USA 8 Jeff 35000 Italy 9 Ben 48000 Brazil
Bước 3: Sử dụng gấu trúc để tính toán số liệu thống kê từ tệp CSV đã nhập
- Đối với bước cuối cùng, mục tiêu là tính toán các số liệu thống kê sau bằng gói Pandas:
- Có nghĩa là lương
Tổng số tiền lương
import pandas as pd df = pd.read_csv [r'C:\Users\Ron\Desktop\stats.csv'] # block 1 - simple stats mean1 = df['Salary'].mean[] sum1 = df['Salary'].sum[] max1 = df['Salary'].max[] min1 = df['Salary'].min[] count1 = df['Salary'].count[] median1 = df['Salary'].median[] std1 = df['Salary'].std[] var1 = df['Salary'].var[] # block 2 - group by groupby_sum1 = df.groupby[['Country']].sum[] groupby_count1 = df.groupby[['Country']].count[] # print block 1 print ['Mean salary: ' + str[mean1]] print ['Sum of salaries: ' + str[sum1]] print ['Max salary: ' + str[max1]] print ['Min salary: ' + str[min1]] print ['Count of salaries: ' + str[count1]] print ['Median salary: ' + str[median1]] print ['Std of salaries: ' + str[std1]] print ['Var of salaries: ' + str[var1]] # print block 2 print ['Sum of values, grouped by the Country: ' + str[groupby_sum1]] print ['Count of values, grouped by the Country: ' + str[groupby_count1]]
Sau khi bạn chạy mã trong Python, bạn sẽ nhận được kết quả sau:
Mean salary: 53500.0
Sum of salaries: 535000
Max salary: 92000
Min salary: 32000
Count of salaries: 10
Median salary: 51000.0
Std of salaries: 18222.391598128816
Var of salaries: 332055555.5555556
Sum of values, grouped by the Country:
Country
Brazil 142000
Italy 172000
USA 221000
Count of values, grouped by the Country:
Country
Brazil 3 3
Italy 3 3
USA 4 4
Bạn chỉ thấy cách tính toán số liệu thống kê đơn giản bằng gấu trúc. Bạn cũng có thể muốn kiểm tra tài liệu Pandas để tìm hiểu thêm về sức mạnh của thư viện tuyệt vời này!