1.透视表
pivot_table,这是个经常用到的功能,通俗的讲叫python行转列。将表中的一条条记录,转化为统计值。
例子:
输入的一张表,是人员的获奖记录,level为获奖的等级,count为获奖次数。我们想得到一张统计表,知道每个人不同奖项的获奖情况。
table_in
name | level | count |
---|---|---|
Tom | A | 1 |
Tom | A | 2 |
Tom | B | 1 |
Tom | C | 2 |
Tony | A | 1 |
Tony | D | 2 |
Tony | B | 1 |
Tony | C | 2 |
我们最后想得到的是
table_out
name | A | B | C | D |
---|---|---|---|---|
Tom | 3 | 1 | 2 | 0 |
Tony | 1 | 1 | 2 | 2 |
代码:
import pandas as pd
import bumpy as np
data = pd.pivot_table(dataframe,index = '',columns = '',values = '' , aggfunc = '')
#dataframe:透视的dataframe
#index 索引:一般是原表中的一个字段,作为聚合的依据
#columns:转换之后的列
#values: 对原表中的哪一列进行聚合
#aggfunc:聚合使用的函数,默认为numpy.mean
tabel_out = pd.pivot_table(table_in,index = 'name',columns = 'level',values = 'count',aggfunc = np.sum)
2.连接表
merge,有两个dataframe,一个相同的字段,然后把这两个dataframe通过字段关联起来。也就是sql中的left join,right join,inner join。
代码:
import pandas as pd
python
pd.merge(left, right,how = '',on = '' , left_on = '',right_on = '')
#left:左表
#right:右表
#how:连接方式,left,right
#left_on,right_on:左右两表的关联字段,如果两个表中的字段一致,可以直接用on=
网友评论