为什么max和min函数使用Pandas返回意外结果?

时间:2016-02-11 04:20:34

标签: python csv numpy pandas

我正在使用csv格式的ECG数据并将数据读取为:

myECG = pd.read_csv('ECG_MIT.csv');

然后我从上面的读取数据中提取了一个名为“ECG”的列(我将其称为ECG_data),并尝试推导出一些有用的指标。​​这些包括以下内容。

print 'Max val in ECG: ', ECG_data.max();  #reports 1023

print 'Min val in ECG: ', ECG_data.min(); # reports 0

结果是错误的,因为我看到最大值本身是800,最小值是474,通过Excel的最大和最小功能。我也打印了样本值并进行了检查。我还使用了诸如“max(ECG_data)”和“min()”之类的替代形式。

另外,当我使用:

print  "Data Summary: \n",myECG.describe() 

我似乎在报告的统计数据中看到了相同的错误值。我在这做错了什么?请帮忙。谢谢。

2 个答案:

答案 0 :(得分:0)

小鸟的一些建议: 1.根据你的例子,我假设你的数据都是整数。 2.下一步将验证这一点。如果它不是整数,那么转换它。 3.以excel递增的方式对数据进行排序,以确认您的excel min和max函数正在产生什么。 4.这与熊猫有何不同? 5.在pandas中,尝试使用列名调用min或max函数。

这有多大帮助!

答案 1 :(得分:0)

01023恰好是10位整数的最小值和最大值。

因此,您可能正在获取对象的某些限制的最小值/最大值(例如,缓冲区的功率增加为2,1024就是其中之一)。

您需要检查ECG_data是否是正确的对象类型,以及您是否以正确的方式使用min() / max()函数。