Her satırın dtype bir liste nesnesi olduğu bir pandas.Series
var. Örneğin.Nasıl dtype bir liste olduğu bir Pandas Series NaN kaldırmak için?
>>> import numpy as np
>>> import pandas as pd
>>> x = pd.Series([[1,2,3], [2,np.nan], [3,4,5,np.nan], [np.nan]])
>>> x
0 [1, 2, 3]
1 [2, nan]
2 [3, 4, 5, nan]
3 [nan]
dtype: object
Nasıl her satır için listelerde nan
kaldırırım?
istenen çıkış olacaktır:
>>> x
0 [1, 2, 3]
1 [2]
2 [3, 4, 5]
3 []
dtype: object
çalışır:
>>> x.apply(lambda y: pd.Series(y).dropna().values.tolist())
0 [1, 2, 3]
1 [2.0]
2 [3.0, 4.0, 5.0]
3 []
dtype: object
, bir dizi listesine dönüştürülmesi, lambda kullanılarak NaN
bırakarak ve daha sonra ekstre daha basit bir yöntem var mı değerler tekrar bir listeye mi dönüyor?
'lambda' ve' if-else' koşullar gerekir hayır, filter' 'içine basitleştirilmiş edilecek? – alvas
Evet, haklısınız. Çözüm ekliyorum. – jezrael
Sadece bir “lambda”: x.apply (lambda y: list (filter (np.isfinite, y))) ile jezrael çözümü. – DyZ