python案列基础方法与分析
import pandas as pd
import numpy as np
import random
#设置最大列和最大行(数据就不会被省略)
pd.set_option(‘max_columns’,1000)
pd.set_option(‘max_row’,1000000000)
pd.set_option(‘display.float_format’,lambda x:’%.5f’%x)
#将某列数据按数量值分成不同范围段进行分组(groupby)运算
df = pd.DataFrame({‘Age’:np.random.randint(20,70,100),
‘Sex’:np.random.choice([‘M’,‘F’],100),
})
#print(df)
#选出年龄在19-40 40-65 65-100的人 并统计个数 区间划分(cut)
age_groups = pd.cut(df[‘Age’],bins=[19,40,45,100])
#print(age_groups)
#print(df.groupby(age_groups).count())
#按’Age’分组范围和性别(sex)进行制作交叉表
#pd.crosstab(age_groups,df[‘Sex’])
df1 = pd.DataFrame({‘Data1’:np.random.randint(0,10,5),
‘Data2’:np.random.randint(10,20,5),
‘key1’:list(‘aabba’),
‘key2’:list(‘xyyxy’)})
print(df1)
#按key1分组,进行聚合计算
#注意:当分组进行数值计算时,不是数值类的列(即麻烦列)会被清除