cuốn sách gpt4 ai đã làm

Tính toán và xác suất của Python

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 15:05:33 25 4
mua khóa gpt4 Nike

Tôi có dữ liệu sau:

Tên mục
táo peter
táo peter
Bến chuối
chuối peter

Tôi muốn in

tần suất những gì Peter ăn:
táo 2
chuối 1

đây là mã của tôi

u, count = np.unique(data['Item'], return_counts=True)

quá trình = u[np.where(data['Name']= 'peter')[0]]

process2 = dict(Bộ đếm(process))
in "Mục\tần số"

đối với k, v trong process2.items():
print '{0:.0f}\t{1}'.format(k,v)

Nhưng có điều gì đó không ổn. Tôi cũng muốn tính xác suất để Peter ăn một quả táo vào lần tới, nhưng tôi không biết.

câu trả lời hay nhất

Lỗi bạn gặp phải như trong các câu trả lời khác, bạn không thể sử dụng dữ liệu['Name'] = 'peter' Là một đối số chức năng bạn thực sự có ý định sử dụng - np .where(data['Name'] == 'peter') .

Tuy nhiên, do bạn đang sử dụng gấu trúc , tôi đoán vậy data là gấu trúc Khung dữ liệu . Trong trường hợp này những gì bạn thực sự muốn có thể được thực hiện bằng cách sử dụng DataFrame.groupby hoàn thành. Ví dụ -

data[data['Name']=='peter'].groupby('Item').count()

Thử nghiệm -

Trong [7]: data[data['Name']=='peter'].groupby('Item').count()
Ra [7]:
Tên
Mục
táo 2
chuối 1

Nếu bạn muốn in theo vòng lặp, bạn có thể sử dụng -

df = data[data['Name']=='peter'].groupby('Item').count()
đối với trái cây, tính theo df['Name'].iteritems():
print('{0}\t{1}'.format(fruit,count))

Thử nghiệm -

Trong [24]: df = data[data['Name']=='peter'].groupby('Item').count()

Trong [25]: đối với trái cây, tính bằng df['Name'].iteritems():
....: print('{0}\t{1}'.format(fruit,count))
....:
táo 2
chuối 1

Đối với câu hỏi cập nhật mà OP nhận được, anh ấy đã nhận được lỗi sau -

TypeError: so sánh loại không hợp lệ

Vấn đề phát sinh trong trường hợp này là do trong dữ liệu thực của OP, cột có các giá trị số (float/int), nhưng OP đang so sánh các giá trị đó với các chuỗi nên xảy ra lỗi. Ví dụ -

Trong [30]: df
Ra [30]:
0 1
0 1 2

Trong [31]: df[0]=='asd'
-------------------------------------------------- --------------
TypeError Traceback (cuộc gọi gần đây nhất cuối cùng)
trong ()
----> 1 df[0]=='asd'

C:\Anaconda3\lib\site-packages\pandas\core\ops.py trong trình bao bọc (tự, khác, trục)
612
613 #vô hướng
--> 614 res = na_op(giá trị, khác)
615 nếu np.isscalar(res):
616 raise TypeError('Không thể so sánh loại %s với Series'

C:\Anaconda3\lib\site-packages\pandas\core\ops.py trong na_op(x, y)
Kết quả 566 = getattr(x, name)(y)
567 nếu kết quả là NotImplemented:
--> 568 raise TypeError("so sánh kiểu không hợp lệ")
569 ngoại trừ (AttributionError):
Kết quả 570 = op(x, y)

TypeError: so sánh loại không hợp lệ

Nếu cột của bạn là số, bạn nên so sánh với các giá trị số thay vì chuỗi.

Về tính toán và xác suất của Python, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/33139736/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress