# pandas常用的10个函数

点击此处

# 读取数据

import pandas as pd
data=pd.read_csv('成绩表.csv',encoding='gbk')
data
1
2
3

# 求和函数--sum

data['总分']=data.sum(axis=1) #axis=1代表对行进行求和
data
1
2

求语言总成绩

data.sum(axis=0,numeric_only=True) #axis=0代表对列进行求和,numeric_only=True表示只对数字求和
1

# 最小值函数--min()

data['总分'].min()
1

# 最大值函数--max()

data['总分'].max()
1

# 平均值函数--mean()

data['英语'].mean()
1

# 计数函数--count()

data['姓名'].count()
1

# 条件函数--IF()

data['等级']=data.总分.apply(lambda x:'优秀' if x >= 270 else '良好')
data
1
2

# 提取文本中的数字--MIDB()函数

ata['考生num']=data['考生号'].str.extract('(\d{4})')
data
1
2

# 计算每名学生的年龄--DATEDIF()函数

import datetime as dt
now_year =dt.datetime.today().year #当前的年份
data['出生年月']=pd.to_datetime(data['出生年月'])
data['年龄']=now_year-data.出生年月.dt.year
data
1
2
3
4
5

# 条件统计函数--COUNTIF()函数

data.apply(lambda x : sum(data['性别']=='女'),axis =0)
1

# vlookup函数

data1 = pd.read_csv('花名册.csv',encoding='gbk')
data1

考生号	姓名	性别	出生年月
0	sccu1001	马伟良	男	2001/12/1
2	sccu1003	牛京田	男	2001/5/2
3	sccu1004	王建国	男	2002/4/14
4	sccu1005	宁丁胜	男	1999/2/24
5	sccu1006	刘华	男	2000/1/28
6	sccu1007	孙苛示	女	2001/7/16
7	sccu1008	安也卫	女	2000/8/30
8	sccu1009	成功	男	2000/4/9
1
2
3
4
5
6
7
8
9
10
11
12

成绩单表格如下

data2 = pd.read_csv('成绩单.csv',encoding='gbk')
data2
1
2

合并后的表格

data3 = pd.merge(data1,data2[['考生号','语文','数学','英语']],how = 'left',on = '考生号')
data3
1
2

# 对字段分段分组

提示

计算每个小时的耗电量
0~7:12
7~17:20
17~24:28

点击此处

@timeit(repeat=3, number=100)
def apply_tariff_digitize(df):
    prices = np.array([12, 20, 28])
    bins = np.digitize(df.index.hour.values, bins=[7, 17, 24])
    df['cost_cents'] = prices[bins] * df['energy_kwh'].values
1
2
3
4
5

# pandas条件格式

点击此处

# 16个Pandas函数

点击此处

# 30个处理技巧

点击此处

# pandas提取数据的15种方法

点击此处