いくつかのヌルを含む可変長の一連のリストがあります。一つの例は次のとおりです。pandas IndexError/TypeError NaN値との矛盾
In [108]: s0 = pd.Series([['a', 'b'],['c'],np.nan])
In [109]: s0
Out[109]:
0 [a, b]
1 [c]
2 NaN
dtype: object
なく、他のすべてのNaNs
が含まれています
In [110]: s1 = pd.Series([np.nan,np.nan])
In [111]: s1
Out[111]:
0 NaN
1 NaN
dtype: float64
私は単純明快である各リストの最後の項目、必要があります。
In [112]: s0.map(lambda x: x[-1] if isinstance(x,list) else x)
Out[112]:
0 b
1 c
2 NaN
dtype: object
しかし、この私になっながらのそのisinstance
なしで、NaNs
のインデックスのチョークがそれほど異なっていることを発見したs0
とs1
:
In [113]: s0.map(lambda x: x[-1])
...
TypeError: 'float' object is not subscriptable
In [114]: s1.map(lamda x: x[-1])
...
IndexError: invalid index to scalar variable.
誰もが理由を説明することはできますか?これはバグですか?私はPandas 0.16.2とPython 3.4.3を使用しています。
興味深い質問です。これは 'pd.Series'が動作する方法と関係しています。これは' list'でこれを複製しようとしているため、 'np.array'は' TypeError'だけで終わっています。 – DeepSpace
リストではなくタプルを試しましたか?私の経験では、データフレーム内のタプルがはるかに優れています。私は再作成しようとしなかったので、これがあなたの問題に対処しているかわかりません –