pandas操作主要;赋值、插入、添加、删除

1,pandas操作主要有对指定位置的赋值,如上一篇中的数据选择一样,根据loc,iloc,ix选择指定位置,直接赋值

2,插入,insert方法,插入行和列

3,添加

4,删除 drop方法

5,弹出 pop方法

In [1]:

 

import pandas as pd import numpy as np

In [53]:

 

dates = np.arange(20190809,20190815) df1 = pd.DataFrame(np.arange(24).reshape(6,4),index=dates,columns=["A","B","C","D"]) df1

Out[53]:

ABCD
201908090123
201908104567
20190811891011
2019081212131415
2019081316171819
2019081420212223

In [20]:

 

df1.iloc[2,2]

Out[20]:

 

10

In [44]:

 

df1.iloc[2,2] = 100 df1

Out[44]:

ABCD
201908090123
201908104567
201908118910011
2019081212131415
2019081316171819
2019081420212223

In [40]:

 

df1.loc[20190810,"B"]=200 df1

Out[40]:

ABCD
201908090123
20190810420067
20190811891011
2019081212131415
2019081316171819
2019081420212223

In [54]:

 

df1[df1.A>10]=0 df1

Out[54]:

ABCD
201908090123
201908104567
20190811891011
201908120000
201908130000
201908140000

In [55]:

 

df1.A[df1.A==0]=100 df1

Out[55]:

ABCD
20190809100123
201908104567
20190811891011
20190812100000
20190813100000
20190814100000

In [56]:

 

#插入一列 df1["E"]=10 df1

Out[56]:

ABCDE
2019080910012310
20190810456710
2019081189101110
2019081210000010
2019081310000010
2019081410000010

In [59]:

 

df1["F"]=pd.Series([1,2,3,4,5,6],index=dates) df1

Out[59]:

ABCDEF
20190809100123101
201908104567102
20190811891011103
20190812100000104
20190813100000105
20190814100000106

In [62]:

 

#添加一行 df1.loc[20190815,["A","B","C"]]=[5,6,8] df1

Out[62]:

ABCDEF
20190809100.01.02.03.010.01.0
201908104.05.06.07.010.02.0
201908118.09.010.011.010.03.0
20190812100.00.00.00.010.04.0
20190813100.00.00.00.010.05.0
20190814100.00.00.00.010.06.0
201908155.06.08.0NaNNaNNaN

In [65]:

 

s1=pd.Series([1,2,3,4,5,6],index=["A","B","C","D","E","F"]) s1.name="S1" df2 = df1.append(s1) df2

Out[65]:

ABCDEF
20190809100.01.02.03.010.01.0
201908104.05.06.07.010.02.0
201908118.09.010.011.010.03.0
20190812100.00.00.00.010.04.0
20190813100.00.00.00.010.05.0
20190814100.00.00.00.010.06.0
201908155.06.08.0NaNNaNNaN
S11.02.03.04.05.06.0

In [67]:

 

#插入一列 df1.insert(1,"G",df2["E"]) df1

Out[67]:

AGBCDEF
20190809100.010.01.02.03.010.01.0
201908104.010.05.06.07.010.02.0
201908118.010.09.010.011.010.03.0
20190812100.010.00.00.00.010.04.0
20190813100.010.00.00.00.010.05.0
20190814100.010.00.00.00.010.06.0
201908155.0NaN6.08.0NaNNaNNaN

In [68]:

 

g=df1.pop("G") df1.insert(6,"G",g) df1

Out[68]:

ABCDEFG
20190809100.01.02.03.010.01.010.0
201908104.05.06.07.010.02.010.0
201908118.09.010.011.010.03.010.0
20190812100.00.00.00.010.04.010.0
20190813100.00.00.00.010.05.010.0
20190814100.00.00.00.010.06.010.0
201908155.06.08.0NaNNaNNaNNaN

In [69]:

 

#删除列 del df1["G"] df1

Out[69]:

ABCDEF
20190809100.01.02.03.010.01.0
201908104.05.06.07.010.02.0
201908118.09.010.011.010.03.0
20190812100.00.00.00.010.04.0
20190813100.00.00.00.010.05.0
20190814100.00.00.00.010.06.0
201908155.06.08.0NaNNaNNaN

In [70]:

 

df2 = df1.drop(["A","B"],axis=1) df1

Out[70]:

ABCDEF
20190809100.01.02.03.010.01.0
201908104.05.06.07.010.02.0
201908118.09.010.011.010.03.0
20190812100.00.00.00.010.04.0
20190813100.00.00.00.010.05.0
20190814100.00.00.00.010.06.0
201908155.06.08.0NaNNaNNaN

In [71]:

 

df2

Out[71]:

CDEF
201908092.03.010.01.0
201908106.07.010.02.0
2019081110.011.010.03.0
201908120.00.010.04.0
201908130.00.010.05.0
201908140.00.010.06.0
201908158.0NaNNaNNaN

In [73]:

 

#删除行 df2=df1.drop([20190810,20190812],axis=0) df1

Out[73]:

ABCDEF
20190809100.01.02.03.010.01.0
201908104.05.06.07.010.02.0
201908118.09.010.011.010.03.0
20190812100.00.00.00.010.04.0
20190813100.00.00.00.010.05.0
20190814100.00.00.00.010.06.0
201908155.06.08.0NaNNaNNaN

In [74]:

 

df2

Out[74]:

ABCDEF
20190809100.01.02.03.010.01.0
201908118.09.010.011.010.03.0
20190813100.00.00.00.010.05.0
20190814100.00.00.00.010.06.0
201908155.06.08.0NaNNaNNaN

__EOF__

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值