Cảm ơn bạn đã dành thời gian.Làm cách nào để kiểm tra sự tương quan bằng cách sử dụng số thập phân/dữ liệu với python 3
Tôi đang viết một số mã đang kiểm tra sự tương quan giữa nhiều bộ dữ liệu. Nó hoạt động tốt khi tôi đang sử dụng dữ liệu gốc (mà tôi thành thật không chắc chắn định dạng của nó vào thời điểm đó), nhưng sau khi tôi chạy dữ liệu thông qua một số phương trình sử dụng mô-đun thập phân, tập dữ liệu sẽ không hiển thị khi được kiểm tra cho sự tương quan.
Tôi cảm thấy thực sự ngu ngốc và mới lol, tôi chắc chắn đó là một sửa chữa rất dễ dàng.
Đây là một chương trình nhỏ mà tôi đã viết để chứng minh ý tôi.
from decimal import Decimal
import numpy as np
import pandas as pd
a = [Decimal(2.3), Decimal(1.5), Decimal(5.7), Decimal(4.6), Decimal(5.5), Decimal(1.5)]
b = [Decimal(2.1), Decimal(1.2), Decimal(5.3), Decimal(4.4), Decimal(5.3), Decimal(1.7)]
h = [2.3,1.5,5.7,4.6,5.5,1.5]
j = [2.1,1.2,5.3,4.4,5.3,1.7]
corr_data1 = pd.DataFrame({'A': a, 'B': b})
corr_data2 = corr_data1.corr()
print(corr_data2)
corr_data3 = pd.DataFrame({'H': h, 'J': j})
corr_data4 = corr_data3.corr()
print(corr_data4)
Các dữ liệu cho cả hai danh sách Một & B cũng như H & F là giống hệt nhau, với sự khác biệt duy nhất của A & B số là số thập phân formated, nơi như H & F thì không.
Khi chương trình đang chạy, A & B nhuận:
Empty DataFrame
Columns: []
Index: []
và H & J trả:
H J
H 1.000000 0.995657
J 0.995657 1.000000
Làm thế nào để làm cho nó để tôi có thể sử dụng các dữ liệu sau khi tôi đã chạy nó thông qua phương trình của tôi?
Xin lỗi vì câu hỏi ngu ngốc và cảm ơn bạn đã dành thời gian. Tôi hy vọng bạn là tất cả tốt, ngày lễ hạnh phúc!
Trên thực tế trong số tất cả những người đầu tiên câu hỏi mà người dùng đã hỏi rằng tôi đã đánh giá bạn có một trong những người viết hay nhất, với mã ví dụ nhất. Đạo cụ cho một câu hỏi được truyền đạt tốt. –
Tôi không nghĩ rằng gấu trúc hoặc gấu trúc hỗ trợ kiểu thập phân như vậy. Pandas đang xử lý mảng của bạn như một mảng các đối tượng. Nếu bạn muốn gấu trúc đối xử với chúng như những con số tôi nghĩ bạn sẽ cần phải chuyển đổi sang phao. – BrenBarn
Danh sách các đối tượng 'Decimal' của bạn sẽ được chuyển thành mảng' object' dtype 'DataFrame' hoặc' numpy'. 'corr_data1.dtypes'. Một số hoạt động toán học hoạt động trên mảng đối tượng, nhưng nó bị đánh và bỏ lỡ. 'corr' là một trong số đó. 'corr.data1._get_numeric_data()' xuất hiện trống. – hpaulj