Python基础之Pandas(三)

#切片
#对行切片
df[1:3]                    #左闭右开
d['AA':'BB']               #左闭右闭
df.iloc[1:3]
df.loc['AA','BB']

#对列切片
df.iloc[:,1:4]
df.loc[:,'python':'java']

#对行和列
df.iloc[1:3,1:4]
df.loc['AA':'BB','pyhton':'spark']
df.loc['AA','python':'spark']        #取一行数据的值
df.loc[['AA','CC'],'python':'spark'] #取不连续行数据的值

总结:

取一行或一列:索引

取连续的多行或多列:切片

取不连续的多行或多列:中括号

#DataFrame运算
df1 = pd.DataFrame(
    data=np.random.randint(10,100,size=(4,6)),
    index=['AA','BB','CC','DD'],
    columns=['python','java','C','C++','spark','hive']
)
df2 = pd.DataFrame(
    data=np.random.randint(10,100,size=(3,3)),
    index=['AA','BB','CC'],
    columns=['python','java','C']
)
display(df1,df2)
df1 + 100
df1 * 100
df1 + df2


df3 = pd.DataFrame(
    data=np.random.randint(10,100,size=(4,6)),
    index=['AA','BB','CC','DD'],
    columns=['python','java','C','C++']
)
df1 + df3                    #没有广播机制,空缺值为Nan
df1.add(df3,fill_value=0)    #对空缺值进行填充
df1.divide(df3,fill_value=2) #除法运算对空缺值填充
s = pd.Series([100,10,1],index=df1.columns)
df1 + s                      
df1.add(s)
df1.add(s,axis='columns')    #列匹配相加
df1.add(s,axis=1)            #同上
s = pd.Series([100,10,1],index=df1.index)
df1.add(s,axis=0)            #Series与DataFrame行相同时只能用add不能用+
df2.add(s,axis='index')      #同上对应行相加

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值