感谢您的时间。
我正在编写一些代码,检查多组数据之间的相关性。当我使用原始数据时(那时我真的不确定它的格式),它的表现很好,但是在我使用Decimal模块运行数据后,数据集在进行相关性测试时不会出现。
我感到非常愚蠢和新手,我相信这是一个非常简单的修复。
这是我编写的一个小程序,用于演示我的意思。
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)
列表A和B以及H和F的数据完全相同,唯一的区别在于A和B是十进制格式的数字,而H和F不是。
当程序运行时,A和B返回:
Empty DataFrame
Columns: []
Index: []
并且 H & J 返回:
H J
H 1.000000 0.995657
J 0.995657 1.000000
我如何做到在运行方程式后使用数据?
对不起,问题有点愚蠢,谢谢你花时间回答。祝大家假期愉快!
Decimal
对象列表将被转换为object
类型的DataFrame
或numpy
数组。corr_data1.dtypes
。某些数学操作适用于对象数组,但有时会碰壁。corr
就是其中之一。corr.data1._get_numeric_data()
无法获取任何数据。 - hpaulj