8/10
数据分析还是有很大部分需要通过看数据的,从数据中找到其中的规律和关联,所以这很枯燥,除非你能实现自动化,但是自动化之前肯定还是要看数据!!!
周末的时候参加了一下网易云音乐的校招提前批笔试,数据分析岗位的,感觉题目挺好的,偏向业务
当时有个sql:
select * from(
select distinct t1.id,t1.name,t1.weight,sum(t2.count) as jine
from
test_1 as t1
inner join
test_2 as t2
on t1.id=t2.goods_id and t1.weight<50
group by t2.goods_id
) as t3 where t3.jine>20
导师和我说:这个项目需要我来对项目进行整体流程,逻辑去理解,后面就需要我来负责项目的维护了
主要需要进行结果分析的表
- 分析结果表:从analysis_main中进行相关字段的操作的
- 事件统计表:从statistical_main中。。。
- t_compt_count:从statistical_global进行相关操作的
我需要去理解:
- 数据表的字段和前端页面展示中的数据的关系
- 数据字段是从代码哪里分析来的
- 数据字段的含义
项目知识:
- DataFrame.shape,shape[0],shape[1]:分别返回的是df的形状,行数,列数
- t_df = t_df[t_df['column'] != '']:返回df中某个字段不是空串的子df
- cpca:用于提取中文中省/市/区并且能够进行映射的python库,基于jieba分词库
- df['column'].fillna('').tolist():对某一列值为空的填充空串,然后将Series变成list返回
- df的方法的inplace属性是用来是否在原DF上修改
- pd.concat([]),对多个df进行拼接,某几行某几行拼
- MySQL中DDL,key xxx using BTREE(建立索引,B树)
- df.sort_index(按照索引进行排序,比如上面的拼接后要按照索引顺序进行排序)
- SQL中{}.format,如果是字符串需要'{}'.format
- df.groupby([])[].count().sort_values(ascending=False)[:1].index[0]
- 数据库的操作,数组取值都要try。。。catch
- apply可以在函数里面传一个闭包函数
jieba库
- jieba.analyse:提取句子级的关键字
- topK:提取多少个关键字
- withWeight:是否返回权重
- allowPOS:允许提取的词性:ns地名,n名词,vn动名词,v动词
numpy库
- np.array().reshape(-1):直接变成一维array
- reshape((-1,4)):二维,行数根据列数来推导