apply()
apply()是一个很是经常使用而且好用的方法,它容许咱们自定义一个函数而且应用到咱们的数据中。
好比咱们如今有这样的需求,求出每一列数据的最大值与最小值的差,能够这样使用。
app
默认状况,是以0轴方向应用的这个函数,可是咱们能够指定1轴,这时候,咱们求得就是每一行的最大值与最小值的差
dom
在函数比较复杂的状况下,你也能够单独的定义一个函数,而不是使用lambda表达式。
函数
applymap()
applymap()与apply()区别在于,applymap()是以数据里面的每个元素为单位,传给apply里面的函数,而apply()则是以行或者列为单位。编码
好比,咱们想让咱们所有的数据每个都加上5。
3d
agg()
对一组数据进行多种统计操做,好比求和,均值,计数,只须要将须要的函数名放在一个列表里面。excel
df = pd.DataFrame(np.random.randn(5,4), columns=['value1', 'value2', 'value3', 'value4']) df.agg(['mean', 'max', 'min'])
pivot_table()
至关于excel里面的数据透视表
首选建立一组示例数据
df = pd.DataFrame({'key1':['a','b','b','b','a'], 'key2':['one','two','one','two','one'], 'value1':np.random.randn(5), 'value2':np.random.randn(5)}) df
使用数据透视表code
df.pivot_table(['value1'], index='key1', columns='key2')
一样是上面的数据,还能够进行分项汇总blog
df.pivot_table(index='key1', columns='key2', margins=True)
cross_tab()
交叉表,能够按照指定的行和列统计分组频数get
pd.crosstab(index = df.key1, columns = df.key2, margins=True)
map()
使用字典,Series或者函数,将Series里面的数据作一个映射。table
train['Sex_male'] = train.Sex.map({'female':0, 'male':1})
经过以上的变换,就能够讲Sex这一列的数据中的female映射成0,male映射成1.
get_dummies()
一位有效数字(one-hot)编码, 下面是将泰坦尼克号的港口进行编码。
Embarked_dummies = pd.get_dummies(train.Embarked, prefix='Embarked') Embarked_dummies.head()
在编码以后,咱们能够配合contact()方法将编码的结果合并到原来的数据上。
train = pd.concat([train, Embarked_dummies], axis=1)
另外,使用contact()方法还能够将DataFrame类型进行编码。
pd.get_dummies(train, columns=['Sex', 'Embarked'])
须要注意的是,以上的方法将会删除train中Sex和Embarked列,返回一个train的拷贝。