Pandas数据帧 - 数据类型问题

时间:2016-09-02 17:45:06

标签: python pandas numpy

我正在尝试创建pd.DataFrame,但我无法正确获取数据类型。我有两个类型为numpy的{​​{1}}数组。

它们是从坐标列表(x& y)创建的,如下所示:

float

此处参考的是# Take coordinates from list and convert to a numpy array x_vector = np.asarray(x_list, dtype=float) y_vector = np.asarray(y_list, dtype=float) 的样子:

x_vector

我对此处的格式感到满意,当我尝试将[-2248925.48185815 -2248925.48185815 -2248080.13621823 -2262432.04991849 -2250570.32692157 -2237312.76315587 -2237312.76315587 -2245650.16260083 -2245650.16260083 -2249323.93572129 -2247050.83128422 -2253151.83634956] x_vector添加到pandas数据框时出现问题。

我的逻辑是我有201条纬度/经度记录,所以我的y_vector等于那个,然后我添加index对应于我的数据,最后我设置columns以匹配我的coordinates(float)。

这是我的代码:

dtype

然而,当我将df = pd.DataFrame(index=range(1, 202, 1), columns=['lat', 'lon', 'ws_daily_max'], dtype=float) df['lat'] = y_vector df['lon'] = x_vector 打印到控制台时,我会得到小数位显着偏移的值。出了什么问题,为什么lat / lon值会发生变化?我期望它们与上面的浮点值相同,即(df)?

-2248925.48185815

我对发生的事情感到很困惑。没有打印错误消息,但这是我期望的结果。任何明确的原因以及如何解决这个问题都将非常感激。

帮我,StackExchange。你是我唯一的希望。

1 个答案:

答案 0 :(得分:3)

这是相同数字的科学记数法。 1.895464e + 06表示1.895464 * 10 ^ 6 = 1895465.所以小数位没有移位,只是表示。如果您想更改数字的外观,请查看http://pandas.pydata.org/pandas-docs/stable/options.html。我希望这会有所帮助。