1
我正在研究在Ubuntu 14.04 64位上使用熊貓(因爲我剛剛發現它)重寫了一些數據分析代碼,並且我遇到了一些奇怪的行爲。我的數據文件如下所示:Python熊貓科學記數法Iconsistent
26/09/2014 00:00:00 2.423009 -58.864655 3.312355E-7 6.257226E-8 302 305
26/09/2014 00:00:00 2.395637 -62.73302 3.321525E-7 7.065322E-8 302 305
26/09/2014 00:00:01 2.332541 -57.763269 3.285718E-7 6.873837E-8 302 305
26/09/2014 00:00:02 2.366828 -51.900812 3.262279E-7 7.397762E-8 302 305
26/09/2014 00:00:03 2.435500 -40.820161 3.241068E-7 6.777224E-8 302 305
26/09/2014 00:00:04 2.428922 -65.573049 3.212358E-7 6.761804E-8 302 305
26/09/2014 00:00:05 2.419931 -59.414711 3.185517E-7 7.243236E-8 302 305
26/09/2014 00:00:06 2.416663 -60.064279 3.209795E-7 6.242328E-8 302 305
26/09/2014 00:00:07 2.411954 -52.586242 3.184297E-7 5.825581E-8 302 304
26/09/2014 00:00:08 2.457342 -61.874388 3.151493E-7 6.327384E-8 303 304
其中列以製表符分隔。爲了讀取到這些熊貓,我使用以下簡單的命令:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.read_csv("path/to/file.dat", sep="\t", header=None)
print data
這將產生以下的輸出:
0 1 2 3 4 5 6 7
0 26/09/2014 00:00:00 2.423009 -58.864655 0 6.257226e-08 302 305
1 26/09/2014 00:00:00 2.395637 -62.733020 0 7.065322e-08 302 305
2 26/09/2014 00:00:01 2.332541 -57.763269 0 6.873837e-08 302 305
3 26/09/2014 00:00:02 2.366828 -51.900812 0 7.397762e-08 302 305
4 26/09/2014 00:00:03 2.435500 -40.820161 0 6.777224e-08 302 305
5 26/09/2014 00:00:04 2.428922 -65.573049 0 6.761804e-08 302 305
6 26/09/2014 00:00:05 2.419931 -59.414711 0 7.243236e-08 302 305
7 26/09/2014 00:00:06 2.416663 -60.064279 0 6.242328e-08 302 305
8 26/09/2014 00:00:07 2.411954 -52.586242 0 5.825581e-08 302 304
9 26/09/2014 00:00:08 2.457342 -61.874388 0 6.327384e-08 303 304
[10 rows x 8 columns]
這裏要注意的重要一點是4列比較它列5,和原始數據。第5欄以科學記數法呈現,而第4欄則沒有。它不只是將列清零或將其轉換爲int,因爲:
>>> data[4][0]*1e7
3.3123550000000002
這是我所期望的。所以數據值是相同的,但表示已經改變。如果這只是一個美化的東西,那麼我可以忍受它,但這讓我感到不安,我想知道這裏發生了什麼。
好的謝謝你的安慰。我發現奇怪的是,當第4列不是時,第5列(甚至包含_smaller_值)正確顯示。我使用了set_option命令,顯示了我期待的數字,但現在他們沒有用科學記數法。想必如果我四處搜尋,我會找到一個設置。 – 2014-10-20 11:27:33
這實際上解決了熊貓在指數中讀數並切斷有效數字的問題 – As3adTintin 2015-11-17 19:18:13