47573


現在、次のような内容のcsvファイルを読み込み、dataframeを作成したいと考えています。

ファイル名：gis_points_data.csv  
この中身

[code]

    index_gis,fX,fY
    0,139.75192,35.70077
    1,139.77791,35.6997
    2,139.7467,35.70089
    3,139.75908,35.69649
    4,139.7747,35.69283
    5,139.74051,35.68449
    
[/code]

ファイルを読み込むと、fXとｆYの桁がまるめられてしまい、  
fXは、140に、fYは35.7になってしまいます。  
これでは、区別がつかなくなってしまうので、小数点以下の桁は、そのまま  
読み込み、後での計算に使用したいのですが、  
どのようにすれば、小数点以下の桁をそのまま保持した形で、読み込むことができるのでしょうか？

現在のところ、下記のようなコマンドを試していますが、  
いずれも同じ結果になります。

[code]

    import pandas as pd
    import numpy as np
    
    #そのまま読み込む場合
    df0=pd.read_csv("gis_points_data.csv")
    
    # 型を倍精度浮動小数点型に指定
    df1=pd.read_csv("gis_points_data.csv", 
                         dtype={'fX':'float64','fY':'float64'})
    
    # 文字列に読み込み、のちに変換
    df2=pd.read_csv("gis_points_data.csv", 
                         dtype={'fX':'object','fY':'object'})
    df2['fX']=df2['fX'].astype(float)
    df2['fY']=df2['fY'].astype(float)
    
[/code]


CC BY-SA 4.0
2018-08-16T21:39:05.423
47571
2018-08-17T00:50:43.477
20148
question
python pandas
Pandasで小数点以下の桁を保持したままdataframeに読み込むには？


`read_csv`をオプション無しで使った場合、数字が3桁に丸められることはないので、単に表示がそのようになっているだけと思われます。丸められた数字を引くと本当に丸まられているのか、それとも表示だけなのかがわかります。

[code]

    print(df0['fX'] - 140)
    
[/code]

なお、表示の有効桁数は、`Pandas`では
`display.float_format`で、`iPython`の方だと`%precision`で設定することができます。


CC BY-SA 4.0
2018-08-17T00:50:43.477
47573
2018-08-17T00:50:43.477
15171
47571
answer