pandas

一、series

s.value

s.index

s.reindex(index=,fill_value=)

s.reindex(index=,method='ffill'/'bfill'/'pad')

pd.isnull(s)

二、dataframe

2.1 基本信息

df.coulmns

df.values

df.info()

df.dtypes()

2.2 索引

df.A(A为df的某个列的名字)=df['A']

df[: 'a'] 当使用非整数作为切片索引时,包含a行

df.iloc[[1,4,5],[0,3]]#iloc通过index号码进行索引

df.loc[['a','e'],['A','C']]#loc通过标签名字进行索引

df.ix[3:6,['name','score']#ix接受两套切片

df.iloc[0]---代表选第一行

df.iloc[0][0]--代表选第一行第一列

df[(df.score>80) & (df.score<90)] # 选出满足条件的《行》
df[['Name','Score']][(df.score>80) & (df.score<90)] # 先选出2列,再选出满足条件的行

 注意:注意df.A和df.iloc/df.loc标准不一样

df.A专注取列;df.iloc/df.loc默认取行,当然加上2个维度也可以取列;布尔索引的结果是满足条件的行

data_bank.loc[data_bank['label'] == '基金市场'] = '基金要闻'
根据某列满足的条件,取出行,然后赋值

2.3 更改数据

s.reindex(index=)、s.reindex(columns=)

s.rename(columns={'scoe':'scores'},inplace=True) 将scoe改名,注意加上inplace

替换指定数据(有索引有数据)

f = pd.Series([97,96,83],index=[1,2,3])
df['homeage']=f

del df['homeage'] 删除此列=df.drop('homeage',axis=1,inplace=True)

2.4排序/排名

df.sort_index(by='Score',ascending=False)

df['score'].rank(method='first/average..')

2.5函数

apply:操作对象是df的一行或一列

applymap:作用于df的每个数据

map:对series每个数据调用,元素级 

可是我觉得apply就能满足需求啊。。。

df_use['cut_nostop'] = df_use['cutword'].apply(lambda x : str(x).split(' '))   # str换成list

当然没有pandas这种结构时,只是list,就用py自带的map函数就好

def makedict(a):
    b = dict(a)
    for key,value in b.items():
        if value == max(b.values()):
            max_key = key
    return max_key

finalmax_key = map(makedict, doc_lda)                      
finalmax_key = list(finalmax_key)                                             

2.6拼接

pd.concat([c1,c2],axis=0/1)

pd.merge(c1,c3,on='name')按照name匹配连接类似sql的join

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值