Panda的学习之路——pandas 设置特定的值&处理没有数据的部分
Posted william-xh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Panda的学习之路——pandas 设置特定的值&处理没有数据的部分相关的知识,希望对你有一定的参考价值。
先设定好我们的dataframe:
# pandas 设置特定的值 dates=pd.date_range(‘20130101‘,periods=6) # print(dates) df=pd.DataFrame(np.arange(24).reshape(6,4),index=dates,columns=[‘a‘,‘b‘,‘c‘,‘d‘]) print(df)
结果:
a b c d
2013-01-01 0 1 2 3
2013-01-02 4 5 6 7
2013-01-03 8 9 10 11
2013-01-04 12 13 14 15
2013-01-05 16 17 18 19
2013-01-06 20 21 22 23
一、修改特定的数据
1.1分别根据索引和行(列)号来修改特定的值
df.iloc[2,2]=1111 #第二列第二行的数据 改为1111 print(df) df.loc[‘20130101‘,‘b‘]=2222 print(df)
结果:
a b c d
2013-01-01 0 2222 2 3
2013-01-02 4 5 6 7
2013-01-03 8 9 1111 11
2013-01-04 12 13 14 15
2013-01-05 16 17 18 19
2013-01-06 20 21 22 23
1.2对特定的行进行筛选操作
df[df.a>4]=0 #这个是指 a这一列 只要是大于4的 其所在的行全部变为0 print(df)
结果:
a b c d 2013-01-01 0 1 2 3 2013-01-02 4 5 6 7 2013-01-03 0 0 0 0 2013-01-04 0 0 0 0 2013-01-05 0 0 0 0 2013-01-06 0 0 0 0
1.3对特定的列进行筛选操作:
df.a[df.a>4]=0#这个是只更改某一列 print(df)
结果
a b c d
2013-01-01 0 1 2 3
2013-01-02 4 5 6 7
2013-01-03 0 9 10 11
2013-01-04 0 13 14 15
2013-01-05 0 17 18 19
2013-01-06 0 21 22 23
二、增加一个列
#datafame 加一个空的行 df[‘f‘]=np.nan print(df) #这个是增加一个有内容的行 df[‘e‘]=pd.Series([1,2,3,4,5,6],index=pd.date_range(‘20130101‘,periods=6)) print(df)
结果:
a b c d f e
2013-01-01 0 1 2 3 NaN 1
2013-01-02 4 5 6 7 NaN 2
2013-01-03 8 9 10 11 NaN 3
2013-01-04 12 13 14 15 NaN 4
2013-01-05 16 17 18 19 NaN 5
2013-01-06 20 21 22 23 NaN 6
三、处理没有数据的部分
3.1设定丢失数据
# pandas处理没有数据的部分 dates=pd.date_range(‘20130101‘,periods=6) # print(dates) df=pd.DataFrame(np.arange(24).reshape(6,4),index=dates,columns=[‘a‘,‘b‘,‘c‘,‘d‘]) print(df) df.iloc[0,1]=np.nan#设定丢失的数据 df.iloc[1,2]=np.nan print(df)
结果:
a b c d
2013-01-01 0 NaN 2.0 3
2013-01-02 4 5.0 NaN 7
2013-01-03 8 9.0 10.0 11
2013-01-04 12 13.0 14.0 15
2013-01-05 16 17.0 18.0 19
2013-01-06 20 21.0 22.0 23
3.2丢弃操作
丢弃特定的行
df=df.dropna(axis=0,how=‘any‘)#axis=0 表示行 how={‘any‘,‘all‘} print(df)
结果
a b c d
2013-01-03 8 9.0 10.0 11
2013-01-04 12 13.0 14.0 15
2013-01-05 16 17.0 18.0 19
2013-01-06 20 21.0 22.0 23
丢弃特定的列:
df=df.dropna(axis=1,how=‘any‘) print(df)
结果
a d
2013-01-01 0 3
2013-01-02 4 7
2013-01-03 8 11
2013-01-04 12 15
2013-01-05 16 19
2013-01-06 20 23
填充操作:
# 填充操作 df=df.fillna(value=2333) print(df)
结果:
a b c d
2013-01-01 0 2333.0 2.0 3
2013-01-02 4 5.0 2333.0 7
2013-01-03 8 9.0 10.0 11
2013-01-04 12 13.0 14.0 15
2013-01-05 16 17.0 18.0 19
2013-01-06 20 21.0 22.0 23
四、判断是否有缺失
# 判断是否有缺失 df=df.isnull() print(df) a=np.any(df.isnull()==True) print(a)
结果:
a b c d 2013-01-01 False True False False 2013-01-02 False False True False 2013-01-03 False False False False 2013-01-04 False False False False 2013-01-05 False False False False 2013-01-06 False False False False 直接确定是否有缺失的 True
以上是关于Panda的学习之路——pandas 设置特定的值&处理没有数据的部分的主要内容,如果未能解决你的问题,请参考以下文章