版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/PoGeN1/article/details/84325421
一、创建数据
我们可以根据自己的需求, 用 pandas 进行更改数据里面的值, 或者加上一些空的,或者有数值的列.
首先建立了一个 6X4 的矩阵数据。
>>> import pandas as pd
>>> import numpy as np
>>> dates=pd.date_range('20181121',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-11-21 0 1 2 3
2018-11-22 4 5 6 7
2018-11-23 8 9 10 11
2018-11-24 12 13 14 15
2018-11-25 16 17 18 19
2018-11-26 20 21 22 23
二、根据位置设置 loc 和 iloc
我们可以利用索引或者标签确定需要修改值的位置
>>> df.iloc[2,2]=111
>>> df.loc['20181121','B']=2222
>>> print(df)
A B C D
2018-11-21 0 2222 2 3
2018-11-22 4 5 6 7
2018-11-23 8 9 111 11
2018-11-24 12 13 14 15
2018-11-25 16 17 18 19
2018-11-26 20 21 22 23
三、根据条件设置
如果现在的判断条件是这样, 我们想要更改B中的数, 而更改的位置是取决于 A 的. 对于A大于4的位置. 更改B在相应位置上的数为0.
>>> df.B[df.A>0]=0
>>> df
A B C D
2018-11-21 0 2222 2 3
2018-11-22 4 0 6 7
2018-11-23 8 0 111 11
2018-11-24 12 0 14 15
2018-11-25 16 0 18 19
2018-11-26 20 0 22 23
四、按行或列设置
如果对整列做批处理, 加上一列 ‘F’
, 并将F
列全改为 NaN
, 如下:
>>> df['F']=np.nan
>>> df
A B C D F
2018-11-21 0 2222 2 3 NaN
2018-11-22 4 0 6 7 NaN
2018-11-23 8 0 111 11 NaN
2018-11-24 12 0 14 15 NaN
2018-11-25 16 0 18 19 NaN
2018-11-26 20 0 22 23 NaN
五、添加数据
用上面的方法也可以加上Series
序列(但是长度必须对齐)。
>>> df['E']=pd.Series([1,2,3,4,5,6],index=pd.date_range('20181121',periods=6))
>>> df
A B C D F E
2018-11-21 0 2222 2 3 NaN 1
2018-11-22 4 0 6 7 NaN 2
2018-11-23 8 0 111 11 NaN 3
2018-11-24 12 0 14 15 NaN 4
2018-11-25 16 0 18 19 NaN 5
2018-11-26 20 0 22 23 NaN 6
这样我们大概学会了如何对DataFrame
中在自己想要的地方赋值或者增加数据。 下次课会将pandas
如何处理丢失数据的过程。