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

转载于:https://www.cnblogs.com/mrwuzs/p/11325205.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值