gpt4 book ai didi

python-2.7 - Pandas 插值返回 NaN

转载 作者:行者123 更新时间:2023-12-04 02:12:59 25 4
gpt4 key购买 nike

我正在尝试以 60hz(~16ms)的间隔对位置数据进行基本插值。当我尝试在数据帧上使用 pandas 0.14 插值时,它告诉我我的数据集中只有 NaN(不是真的)。当我尝试在从数据帧中拉出的单个系列上运行它时,它返回相同的系列但没有填充 NaN。我尝试将索引设置为整数,使用不同的方法,摆弄插值函数的轴和限制参数- 没有骰子。我做错了什么?

df.head(5) : 
x y ms
0 20.5815 14.1821 333.3333
1 NaN NaN 350
2 20.6112 14.2013 366.6667
3 NaN NaN 383.3333
4 20.5349 14.2232 400


df = df.set_index(df.ms) # set indices to milliseconds

当我尝试运行时

df.interpolate(method='values')

我收到这个错误:

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-462-cb0f1f01eb84> in <module>()
12
13
---> 14 df.interpolate(method='values')
15
16

/Users/jsb/anaconda/lib/python2.7/site-packages/pandas/core/generic.pyc in interpolate(self, method, axis, limit, inplace, downcast, **kwargs)
2511
2512 if self._data.get_dtype_counts().get('object') == len(self.T):
-> 2513 raise TypeError("Cannot interpolate with all NaNs.")
2514
2515 # create/use the index

TypeError: Cannot interpolate with all NaNs.

我也试过运行单个系列,它只返回我输入的内容:

temp = df.x
temp.interpolate(method='values')

333.333333 20.5815
350.000000 NaN
366.666667 20.6112
383.333333 NaN
400.000000 20.5349 Name: x, dtype: object

编辑:

支持 Jeff 启发解决方案。

添加:

df[['x','y','ms']] = df[['x','y','ms']].astype(float)

之前

df.interpolate(method='values')

插值成功了。

最佳答案

基于您对 Jeff 的支持以启发解决方案的编辑。

添加:

df = df.astype(float)

之前

df.interpolate(method='values')

插值法也对我有用。除非您要子选择一个列集,否则您不需要指定列。

关于python-2.7 - Pandas 插值返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24316481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com