私がやりたかったのは、pandas DataFrameの1つのエントリNaN値を1つの文字列に置き換えることでした。ここに私がしたことがあります。DataFrame警告の1つのエントリを置き換えますか?
s = pd.DataFrame({'A':['S12','S1','E53',np.NaN], 'B':[1,2,3,4]})
s['A'][s['A'].isnull()==True] = 'P'
このコードは、データフレームに「NaNの」の値を見つけると「P」の文字列にそれを交換しようとすると、結果は次のようになります。
A B
0 S12 1
1 S1 2
2 E53 3
3 P 4
しかし、私はまた、このような警告が出ます:
/Users/grr/anaconda/bin/ipython:3: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
# -*- coding: utf-8 -*-
誰もこれが何を意味するのかと、私はこれを避けるために何をすべきか私に説明できますか?
ありがとうございました!
可能な複製(https://stackoverflow.com/questions/20625582/how-to-deal-with-settingwithcopywarning-in-パンダ) – Ding
ここで改善できることがたくさんあります。しかし、まずは.fillna()関数があります。 –