Categories
数据工程师

Pandas速查手册中文版 | Day4

对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非常重要的Python包。它不仅提供了很多方法,使得数据处理非常简单,同时在数据处理速度上也做了很多优化,使得和Python内置方法相比时有了很大的优势。

如果你想学习Pandas,建议先看两个网站

  • 官网:Python Data Analysis Library
  • 十分钟入门Pandas:10 Minutes to pandas

在第一次学习Pandas的过程中,你会发现你需要记忆很多的函数和方法。所以在这里我们汇总一下Pandas官方文档中比较常用的函数和方法,以方便大家记忆。

关键缩写和包导入

在这个速查手册中,我们使用如下缩写:

df:任意的Pandas DataFrame对象
s:任意的Pandas Series对象

同时我们需要做如下的引入:

import pandas as pd
import numpy as np

导入数据

  • pd.read_csv(filename):从CSV文件导入数据
  • pd.read_table(filename):从限定分隔符的文本文件导入数据
  • pd.read_excel(filename):从Excel文件导入数据
  • pd.read_sql(query, connection_object):从SQL表/库导入数据
  • pd.read_json(json_string):从JSON格式的字符串导入数据
  • pd.read_html(url):解析URL、字符串或者HTML文件,抽取其中的tables表格
  • pd.read_clipboard():从你的粘贴板获取内容,并传给read_table()
  • pd.DataFrame(dict):从字典对象导入数据,Key是列名,Value是数据

导出数据

  • df.to_csv(filename):导出数据到CSV文件
  • df.to_excel(filename):导出数据到Excel文件
  • df.to_sql(table_name, connection_object):导出数据到SQL表
  • df.to_json(filename):以Json格式导出数据到文本文件

创建测试对象

  • pd.DataFrame(np.random.rand(20,5)):创建20行5列的随机数组成的DataFrame对象
  • pd.Series(my_list):从可迭代对象my_list创建一个Series对象
  • df.index = pd.date_range(‘1900/1/30’, periods=df.shape[0]):增加一个日期索引

查看、检查数据

  • df.head(n):查看DataFrame对象的前n行
  • df.tail(n):查看DataFrame对象的最后n行
  • df.shape():查看行数和列数
  • df.info():查看索引、数据类型和内存信息
  • df.describe():查看数值型列的汇总统计
  • s.value_counts(dropna=False):查看Series对象的唯一值和计数
  • df.apply(pd.Series.value_counts):查看DataFrame对象中每一列的唯一值和计数

数据选取

  • df[col]:根据列名,并以Series的形式返回列
  • df[[col1, col2]]:以DataFrame形式返回多列
  • s.iloc[0]:按位置选取数据
  • s.loc[‘index_one’]:按索引选取数据
  • df.iloc[0,:]:返回第一行
  • df.iloc[0,0]:返回第一列的第一个元素

数据清理

  • df.columns = [‘a’,’b’,’c’]:重命名列名
  • pd.isnull():检查DataFrame对象中的空值,并返回一个Boolean数组
  • pd.notnull():检查DataFrame对象中的非空值,并返回一个Boolean数组
  • df.dropna():删除所有包含空值的行
  • df.dropna(axis=1):删除所有包含空值的列
  • df.dropna(axis=1,thresh=n):删除所有小于n个非空值的行
  • df.fillna(x):用x替换DataFrame对象中所有的空值
  • s.astype(float):将Series中的数据类型更改为float类型
  • s.replace(1,’one’):用‘one’代替所有等于1的值
  • s.replace([1,3],[‘one’,’three’]):用’one’代替1,用’three’代替3
  • df.rename(columns=lambda x: x + 1):批量更改列名
  • df.rename(columns={‘old_name’: ‘new_ name’}):选择性更改列名
  • df.set_index(‘column_one’):更改索引列
  • df.rename(index=lambda x: x + 1):批量重命名索引

数据处理:Filter、Sort和GroupBy

  • df[df[col] > 0.5]:选择col列的值大于0.5的行
  • df.sort_values(col1):按照列col1排序数据,默认升序排列
  • df.sort_values(col2, ascending=False):按照列col1降序排列数据
  • df.sort_values([col1,col2], ascending=[True,False]):先按列col1升序排列,后按col2降序排列数据
  • df.groupby(col):返回一个按列col进行分组的Groupby对象
  • df.groupby([col1,col2]):返回一个按多列进行分组的Groupby对象
  • df.groupby(col1)[col2]:返回按列col1进行分组后,列col2的均值
  • df.pivot_table(index=col1, values=[col2,col3], aggfunc=max):创建一个按列col1进行分组,并计算col2和col3的最大值的数据透视表
  • df.groupby(col1).agg(np.mean):返回按列col1分组的所有列的均值
  • data.apply(np.mean):对DataFrame中的每一列应用函数np.mean
  • data.apply(np.max,axis=1):对DataFrame中的每一行应用函数np.max

数据合并

  • df1.append(df2):将df2中的行添加到df1的尾部
  • df.concat([df1, df2],axis=1):将df2中的列添加到df1的尾部
  • df1.join(df2,on=col1,how=’inner’):对df1的列和df2的列执行SQL形式的join

数据统计

  • df.describe():查看数据值列的汇总统计
  • df.mean():返回所有列的均值
  • df.corr():返回列与列之间的相关系数
  • df.count():返回每一列中的非空值的个数
  • df.max():返回每一列的最大值
  • df.min():返回每一列的最小值
  • df.median():返回每一列的中位数
  • df.std():返回每一列的标准差

文章来源
https://www.dataquest.io/blog/pandas-cheat-sheet/

Categories
数据工程师

数据工程师学习路径

行业背景

技能清单

  1. 《Python 3 数据分析 Data Science零基础完全入门》第四、五节.学习panda库–>学习
  2. 《Python3零基础完全入门》第一、二、三节,学习基础内容

学习工具

学习日记

Categories
读书人

Data Science学习第三天: Free Data Science learning resources.

Free Data Science learning resources.

source
https://www.youtube.com/watch?v=eTxyviU0Ddo

This is a data science learning path.

1. RECOMMENDED BOOKS IN MY STORE

https://www.amazon.com/shop/pythonprogrammer

2. PYTHON BASICS

Introduction to Python, The Scientific Libraries, Advanced Python Programming and the Pandas

1) Section of Data and Empirics

https://lectures.quantecon.org/py/

2) Chapters 1 – 4 in this book

https://github.com/jakevdp/PythonDataScienceHandbook/blob/8a34a4f653bdbdc01415a94dc20d4e9b97438965/notebooks/Index.ipynb

3. python库

Categories
读书人

恭贺所有好朋友2019年新猪快乐

不知不觉又是一年

我们在加拿大这片土地

成长,生活,学习,恋爱,也可能是养儿育女

这365天里

加拿大的冰雪和蓝天也一样抚育着我们

让我们在辞旧迎新的一天里

把过往的欢乐和喜悦分享给亲朋好友

也把对家人、故土和新乡的感恩

对彼此表达

这一年我想要

感谢27号小屋为我们遮风挡雨

我们对你的修缮是我们最诚挚的供奉

感谢后院的4只松鼠每天早上的演出

你们在树梢间欢快的跳跃让我们开始美好的一天

感恩4位老人对我们小家的支持

不远千山万水来帮我们

更感念妻儿这一年对我的包容和支持

希望我逐渐接近你们心目中的丈夫和父亲

当然我也对所有的好朋友

不论你们生活在地球的哪一片神州

谢谢大家这一年的相伴

寻常日子里成长出来的友谊

更是让人欢喜与珍贵

最后祝愿大家

在未来一年

学习进步

家庭和睦

工作事业

一帆风顺

此外

我还要单独祝福所有

和我一样

想要开枝在散叶的朋友们

勤勤恳恳耕田地

春夏秋去小猪来

谢谢

懒惰了大半年的远山,在多伦多祝福大家!

2019年2月4日

Categories
影集 读书人

采草莓的大鑫鑫

2014 06 10 07 28 06

Categories
读书人

团队里来的新人3做3不做

身在职场的我们,总会需要融入众多的团队。这时我们该怎么办?是不是只要埋头苦干,多看少说就可以了呢?

似乎仅仅这样还是不够的!那到底我们该怎么做才能快速融入呢?

需要我们去做的事:

1. 认识每个人,知道每一个人的名字或花名、电话、QQ、邮箱,最好在第二天就能叫上每个人的名字。最好还能粗略知道每个人的性格。知道该怎么和他们相处。

2. 了解每个人,知道每个人具体在做什么,每一项工作谁在负责,各个工作时间是否存在依存关系等等。每个团队的工作就像是蛛网一样,牵连很多,往往很难

3. 学习每个人,知道每个人的能力水平,技能特点等等,这样能够让我们在工作时,快速找到可以帮助我们的人。

 

不能做的事情
1.
 评论,作为一个新人,除非特殊情况,千万不要评论任何团队的事情或团队里的人。因为我们还只是新人,不了解其中的各种历史,很难做出客观的评价。

2. 比较,不要将现在的团队和过去参加过的团队做比较。不论比较的结果怎么样,都会对我们目前的工作产品不良的结果。

3. 鲁莽,在参与团队工作的时候,因为我们对于团队历史了解并不多,所以千万要仔细,不要做一些鲁莽的傻事。比如不小心删除的了代码等等

Categories
影集 读书人

天目行

IMG 0415

Categories
影集 读书人

在外婆家和表哥一起玩,真开心

在外婆家和表哥一起玩,真开心

 

1.cgi2.cgi3.cgi4.cgi5.cgi6.cgi7.cgi

Categories
影集 读书人

今天妈妈生日,鑫鑫好开心

1IMG_0785[4]

鑫鑫说:大家听我说,今天妈妈生日啊,等下有蛋糕吃!!!

 

IMG_0780IMG_0781

外公说: 真的吗?呵呵,太好了,我也有蛋糕吃!

鑫鑫说: 放心,外公,有我罩着你呢

 

IMG_0788IMG_0789

蛋糕出场了

鑫鑫说: 外公快来,蛋糕来了

 

IMG_0791

 

鑫鑫说: 今天我要吃个爽

IMG_0792

鑫鑫说: 妈妈搞什么飞机,传什么围裙啊,不久吃个蛋糕吗,什么大场面我没见过!!

 

IMG_0796

鑫鑫说:  好想吃,好想吃,妈妈还没许好愿啊!!! 我的蛋糕,我来了

 

IMG_0803

 

鑫鑫说: 干吗??? 你也想吃?

 

 

IMG_0804IMG_0808IMG_0809

 

IMG_0824

鑫鑫说: 嘿嘿,今天吃的不错,不知道爸爸什么时候生日

Categories
生活与家 读书人

小熊宝宝绘本

9319968-1_e

作者简介

佐佐木洋子,日本著名画家,1939年生于日本青森县。美术大学毕业后,曾在设计室担任插图画家,后成为自由职业者。除《小妖怪系列童话》外,她还从事杂志插图和广告宣传等工作。

内容简介

《睡觉》
打哈欠了,困了,宝宝,该睡觉啦!
小熊睡了,小老鼠也睡了……
你挨着我,我挨着你,大家一起睡着了。
被子盖得好好的,不会着凉,不会感冒。咦,玩具都哪去了?
它们也睡觉了吧。
安安静静的,舒舒服服的,宝宝,乖乖睡吧!
《大声回答“哎”》

 

故事介绍

好朋友

 

看完“好朋友”第一反应,那个小狸猫不就是女儿吗?女儿遗传了爸爸内敛的天性,在与陌生人相处中,不免胆性、退缩。然而,2岁半之后,又不断地萌发出与小伙伴一起玩的念头,于是…… 看看小狸猫吧。害羞、敏感、勤慎、细致、善于现存的特点全都在画家的笔下了。 想起一句话“人们把脚伸进水中慢慢称叹,从而逐渐克服对海洋的恐惧。”害羞也一样,小狸猫不是在一次又一次地尝试吗?尽管他实在太弱小,甚至无人关注他的存在,知道那句P14,鼓足了勇气地大声喊叫:“我也一起玩好吗?”还显带有紧张、僵硬,不够老练地神态,但最终,在一起玩耍中,小狸猫也自然而然地渐渐溶入伙伴中了。那时的表情才真正叫做“轻松自如”。 是呀,4岁半的女儿居然在插班进入一个全所的环境中,与对她并不接纳的同学主动打招呼,并不在乎没有回应的挫败感——孩子成长的速度,有时是远远超过父母的想象的。