600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > python数据分析如何学_用Python做数据分析 Numpy Pandas matp

python数据分析如何学_用Python做数据分析 Numpy Pandas matp

时间:2018-11-17 19:44:15

相关推荐

python数据分析如何学_用Python做数据分析 Numpy Pandas matp

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的《利用Python进行数据分析》,看了好几遍,不是从头到尾看了好几遍,是顺着看、挑着看、精读略读强行读,一直没坚持完整过一遍。

后来发现了广受好评的《10分钟搞定pandas》。这是官方出品的,于是我马上动手跟着做,才发现作者就是个标题党,花了一个多小时才过完一遍。我觉得书名应该是《(每天)10分钟(一周)搞定pandas》。标题党归标题党,内容还是很好的,就是我觉得还是有点偏长,尤其对于像我这样学习自制力极差的同学。

所以这篇文章,我总结了我认为的Pandas最常用的功能,供大家学习借鉴。

导入包

import pandas as pd

import numpy as np

导入数据

#默认utf-8,gbk对中文的支持更好

pd.read_csv(filename,encoding='gbk')

#key是列名,value是数据,从字典导入数据需要指定index

dict1 = {'a':1,'b':2}

df = pd.DataFrame(dict1,index=[0])

查看数据

#行数、列数

df.shape[0]

df.shape[1]

#前几行,后几行,默认为5

df.head()

df.tail(3)

#数据汇总统计

df.describe()

#数据概况

df.info()

#列名

df.columns

#数据类型

df.dtypes

#各列平均值

df.mean()

数据选取

#按列名查看某列

df[col_name]

df.col_name

#查列名看多列

df[[col1,col2]]

#按索引查看某行,第一行:

df.iloc[0]

#按索引查看某行某列,三行四列那个元素

df.iloc[2,3]

数据合并

#按行拼接

pieces = [df[2:20],df[23:30],df[35:40]]

下面这句replace知乎一直报未知错误(醉了,我在整篇文章中用二分法试出来两句),只能截图

#按列拼接

left = pd.DataFrame({'key': ['foo', 'bar'], 'col1': [1, 2]})

right = pd.DataFrame({'key': ['foo', 'bar'], 'col2': [4, 5]})

pd.merge(left,right,on='key')

#增加一列

df = pd.DataFrame(np.random.randn(8, 4), columns=['A','B','C','D'])

extra = df.iloc[-1]

data = df.append(extra)

数据清理 (注意: 修改DataFrame要赋值)

#检查是否空值,返回布尔值(True,False)

df.isnull()

#返回各列空值的个数

df.isnull().sum()

#处理空值,用x替换空值

df = df.fillna(x)

#删除包含空值的行

df = df.dropna()

#删除包含空值的列

df = df.dropna(axis=1)

数据处理

#选择某列大于1的行

df[df[colname]>1]

#选择某列包含x或者y字段的行,pandas有很多字符串处理函数

df[df[colname].str.contains(x|y)]

下面这句replace知乎一直报未知错误(再次醉了),只能截图

#转换数据类型

df.num = df.num.astype(float)

#查看某列的唯一值的个数

df.colname.value_counts()

#按照某列排序(默认升序)

df.sort_values(by = colname,ascending=True)

#应用函数,简单的可以用lambda

df.apply(lambda x:x.max()-x.min())

#复杂的可以先定义好函数

def func():

pass

df.apply(func)

#也可以用numpy自带的,例如cumsum累加

df.apply(np.cumsum)

分组聚合

#准备数据

df = pd.DataFrame({'A' : ['foo', 'bar', 'foo', 'bar',

'foo', 'bar', 'foo', 'foo'],

'B' : ['one', 'one', 'two', 'three',

'two', 'two', 'one',

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。