Pandas相关函数用法

1 concat

concat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合
1
2
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,
keys=None, levels=None, names=None, verify_integrity=False)
1
2
参数说明
objs: series,dataframe或者是panel构成的序列lsit
axis: 需要合并链接的轴,0是行,1是列
join:连接的方式 inner,或者outer,如果join_axes没指定则是使用index来join
keys:用于标识数据来自哪个dataframe

其他一些参数不常用,用的时候再补上说明。


result = pd.concat([df1, df4], axis=1, join_axes=[df1.index])


2.reset_index
经常在使用concat合并数据时,需要使用reset_index来更新index,不然可能后继数据处理会
有异想不到的异常


3.DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)

参数

这个drop_duplicates方法是对DataFrame格式的数据,去除特定列下面的重复行。返回DataFrame格式的数据。

subset : column label or sequence of labels, optional
用来指定特定的列,默认所有列
keep : {‘first’, ‘last’, False}, default ‘first’
删除重复项并保留第一次出现的项
inplace : boolean, default False
是直接在原来数据上修改还是保留一个副本

使用result = result.reset_index(drop=True)来改变index就可以了,


4.value_counts

value_counts()是一种查看表格某列中有多少个不同值的快捷方法,并计算每个不同值有在该列中有多少重复值。
value_counts()是Series拥有的方法,一般在DataFrame中使用时,需要指定对哪一列或行使用

df['Sector Name'].value_counts()

5.pivot_table
pivot_table(data, values=None, index=None, columns=None,aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')

pivot_table有四个最重要的参数index、values、columns、aggfunc,本文以这四个参数为中心讲解pivot操作是如何进行。

Index

每个pivot_table必须拥有一个index,如果想查看哈登对阵每个队伍的得分,首先我们将对手设置为index:

pd.pivot_table(df,index=[u'对手'])


Values

通过上面的操作,我们获取了james harden在对阵对手时的所有数据,而Values可以对需要的计算数据进行筛选,如果我们只需要james harden在主客场和不同胜负情况下的得分、篮板与助攻三项数据:

pd.pivot_table(df,index=[u'主客场',u'胜负'],values=[u'得分',u'助攻',u'篮板'])


Aggfunc

aggfunc参数可以设置我们对数据聚合时进行的函数操作。

当我们未设置aggfunc时,它默认aggfunc='mean'计算均值。我们还想要获得james harden在主客场和不同胜负情况下的总得分、总篮板、总助攻时:


pd.pivot_table(df,index=[u'主客场',u'胜负'],values=[u'得分',u'助攻',u'篮板'],aggfunc=[np.sum,np.mean])

Columns

Columns类似Index可以设置列层次字段,它不是一个必要参数,作为一种分割数据的可选方式。

#fill_value填充空值,margins=True进行汇总
pd.pivot_table(df,index=[u'主客场'],columns=[u'对手'],values=[u'得分'],aggfunc=[np.sum],fill_value=0,margins=1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值