前提・実現したいこと
PandasのDataFrameの中に、ある日付とある日付の差を
表したカラムが3つあります。
このカラムの中に紛れ込んでいる負の値を欠損値で
代替したいのですが、
なかなかうまくいきません。
方法論としては
データの方がtimedelta型なので、
それをint型に変えて.whereなどで
負の値たちをnp.nanに変えようと思っています。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-33-ec639ab4c403> in <module> ----> 1 sub = sub.loc[sub < 0, 'sub'] = np.nan AttributeError: 'float' object has no attribute 'loc'
該当のソースコード
3 NaN 5 NaN 8 NaN 9 NaN 18 NaN ... 28940 NaN 28969 213.0 28977 199.0 28983 NaN 28991 65.0 Length: 3698, dtype: float64
Python
1X = df['日'] 2Y = df['初回接触'] 3 4#ExcelのDatedif関数より一日短くなるので+1をする 5sub = (X - Y) + dt.timedelta(days=1) 6 7sub = sub.dt.days 8 9#負の値をnullに 10sub = sub.loc[sub < 0, 'sub'] = np.nan
試したこと
sub = sub.astype('int16')
はValueError: Cannot convert non-finite values (NA or inf) to integer
がでてダメでした、、、
何卒宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/13 00:18 編集