df = pd.DataFrame(np.random.randn(3, 4), columns=list('ABCD'))
df.iloc[1, 2:4] = np.nan
df.loc[:, ['C', 'D']].fillna(-1, inplace=True)
display(df)
μ°μΆ:
A B C D
0 1.387547 -1.299578 0.360015 1.290783
1 -0.395182 -0.112581 NaN NaN
2 -0.649372 -1.831869 -0.103746 0.533153
Nanμ -1λ‘ μμ ν κ²μΌλ‘ μμλμ§λ§ κ·Έλ μ§ μμ΅λλ€ .
λ€μ λΉκ΅λ₯Ό μ°Έμ‘°νμμμ€.
λ°λλ‘ λ€μ μ½λλ μμλλ‘ μλν©λλ€.
( μ μΌν μ°¨μ΄μ μ iloc λλ locμ μν μ νμ
λλ€)
df = pd.DataFrame(np.random.randn(3, 4), columns=list('ABCD'))
df.iloc[1, 2:4] = np.nan
df.iloc[:, 2:4].fillna(-1, inplace=True)
display(df)
μ°μΆ:
A B C D
0 -0.522821 -1.600520 -1.468871 0.715790
1 0.493071 0.722474 -1.000000 -1.000000
2 0.545852 -0.877946 0.993169 -0.582661
νλμ μ΄μ΄ LOCλ‘ μ ννλ©΄ μ λλ‘ μλν©λλ€.
df = pd.DataFrame(np.random.randn(3, 4), columns=list('ABCD'))
df.iloc[1, 2:4] = np.nan
df.loc[:, 'C'].fillna(-1, inplace=True)
display(df)
μ°μΆ:
A B C D
0 -0.549106 0.261093 -1.278554 2.017178
1 -1.424498 0.439482 -1.000000 NaN
2 -1.281520 1.190736 0.356319 0.416363
A B C D
0 1.181106 1.101231 -0.198445 0.295238
1 -0.654265 -1.129840 -1.000000 -1.000000
2 -1.070404 0.096556 0.499020 -1.835347
pd.show_versions()
μ»€λ° : μμ
νμ΄μ¬ : 3.5.2.final.0
νμ΄μ¬ λΉνΈ : 64
μ΄μ체μ : Linux
OS λ¦΄λ¦¬μ€ : 2.6.32-358.14.1.el6.x86_64
μ»΄ν¨ν° : x86_64
νλ‘μΈμ : x86_64
byteorder : μ‘°κΈ
LC_ALL : μμ
LANG : zh_TW.big5
λ‘컬 : zh_TW.big5
νλ€ : 0.19.1
μ½ : μμ
ν : 9.0.1
setuptools : 27.2.0
Cython : μμ
numpy : 1.11.2
scipy : 0.18.1
statsmodels : μμ
xarray : μμ
IPython : 5.1.0
μ€νν¬μ€ : μμ
patsy : μμ
dateutil : 2.6.0
pytz : 2016.10
blosc : μμ
λ³λͺ© νμ : μμ
ν : 3.3.0
numexpr : 2.6.1
matplotlib : 1.5.3
openpyxl : μμ
xlrd : μμ
xlwt : μμ
xlsxwriter : μμ
lxml : μμ
bs4 : μμ
html5lib : μμ
httplib2 : μμ
apiclient : μμ
sqlalchemy : μμ
pymysql : μμ
psycopg2 : μμ
jinja2 : 2.8
boto : μμ
pandas_datareader : μμ
λΉμ μ μ¬λ³Έμ μ±μ°κ³ μμ΅λλ€. inplace
μ μν° ν¨ν΄μ
λλ€. λλΆλΆμ μμ
μ SettingWithCopyWarning
λ₯Ό νμνμ§λ§μ΄ κ²½μ° μ½κ² κ°μ§ ν μ μμ΅λλ€.
μ¬μ©νλ€
In [11]: df[['C', 'D']] = df[['C', 'D']].fillna(-1)
In [12]: df
Out[12]:
A B C D
0 0.236782 1.408896 -0.199882 0.803165
1 -1.763881 0.232414 -1.000000 -1.000000
2 0.878515 -0.394800 0.429696 -1.829569
μ΄ μλ:
df.loc [:, [ 'C', 'D']] = df.loc [:, [ 'C', 'D']]. fillna (-1)
λ΄ μ½λμμ .relplaceμ λμΌν μ΄λ €μμ κ²ͺμμ΅λλ€. μ΄κ²μ ν¨κ³Όκ° μμλ€.
μ¬λ¬ μ΄λΏλ§ μλλΌ νλμ μ΄λ μμ΅λλ€.
df.loc[df.id==123, 'num'].fillna(0, inplace=True)
μλνμ§ λ§μμμ€,
κ·Έλ¬λ
df.loc[df.id==123, 'num'] = 123
ν¨κ³Όκ°μλ€
fillna ν¨μλ₯Ό νΈμ§νμ¬ μ΄λ»μ΅λκΉ ?
λ²κ·Έ μΈ κ² κ°μ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
μ¬λ¬ μ΄λΏλ§ μλλΌ νλμ μ΄λ μμ΅λλ€.
df.loc[df.id==123, 'num'].fillna(0, inplace=True)
μλνμ§ λ§μμμ€,
κ·Έλ¬λ
df.loc[df.id==123, 'num'] = 123
ν¨κ³Όκ°μλ€
fillna ν¨μλ₯Ό νΈμ§νμ¬ μ΄λ»μ΅λκΉ ?
λ²κ·Έ μΈ κ² κ°μ΅λλ€.