python設定值及NaN值處理
阿新 • • 發佈:2019-01-01
python 設定值
import pandas as pd
import numpy as np
dates = pd.date_range('20180101',periods=6)
df = pd.DataFrame(np.arange(24).reshape(6,4),index=dates,columns=['A','B','C','D'])
print(df)
A B C D 2018-01-01 0 1 2 3 2018-01-02 4 5 6 7 2018-01-03 8 9 10 11 2018-01-04 12 13 14 15 2018-01-05 16 17 18 19 2018-01-06 20 21 22 23
df.loc['20180102','A'] = 1111
print(df)
A B C D
2018-01-01 0 1 2 3
2018-01-02 1111 5 6 7
2018-01-03 8 9 10 11
2018-01-04 12 13 14 15
2018-01-05 16 17 18 19
2018-01-06 20 21 22 23
df.iloc[2,2] = 2222
print(df)
A B C D 2018-01-01 0 1 2 3 2018-01-02 1111 5 6 7 2018-01-03 8 9 2222 11 2018-01-04 12 13 14 15 2018-01-05 16 17 18 19 2018-01-06 20 21 22 23
df[df.A>12]=0 #修改df資料中符合條件的所有值
print(df)
A B C D
2018-01-01 0 1 2 3
2018-01-02 0 0 0 0
2018-01-03 8 9 2222 11
2018-01-04 12 13 14 15
2018-01-05 0 0 0 0
2018-01-06 0 0 0 0
df.A[df.A<4]=11 #修改df資料中A列符合條件的所有值
print(df)
A B C D 2018-01-01 11 1 2 3 2018-01-02 11 0 0 0 2018-01-03 8 9 2222 11 2018-01-04 12 13 14 15 2018-01-05 11 0 0 0 2018-01-06 11 0 0 0
df['F'] = np.nan
print(df)
A B C D F
2018-01-01 11 1 2 3 NaN
2018-01-02 11 0 0 0 NaN
2018-01-03 8 9 2222 11 NaN
2018-01-04 12 13 14 15 NaN
2018-01-05 11 0 0 0 NaN
2018-01-06 11 0 0 0 NaN
print(np.any(df.isnull())== True) #isnull檢測是否含有NaN值,有就返回True。np.any()檢測df資料中是否含有等於Ture的值
True
NaN值填充:print(df.fillna(value=0))