数据分析入土(二)

part11-part20 笔记

part 11 axis的使用

import pandas as pd
drinks = pd.read_csv(‘文件路径’)

axis=1表示对列操作,剪切指定列

drinks.drop(‘continent’, axis=1).head()

axis=0表示对行操作,剪切指定行

drinks.drop(2,axis=0).head

计算每一列的均值

drinks.mean
#或
drinks.mean(axis=‘index’)

计算每一行的均值

drinks.mean(axis=1)
#或
drinks.mean(axis=‘columns’)

part 12 string methods

import pandas as pd
orders = pd.read_table(‘文件路径’)

将指定列的内容以大写,string的数据类型单独显示

orders.iterm_name.str.uppper()

判断指定列是否含有‘chicken’,

输出为True或者False
orders.iterm_name.str.contains(‘chicken’)

输出表格中含有指定词的内容

orders[orders.iterm_name.str.contains(‘chicken’)]

替换指定列中的内容,将中括号替换为空

orders.choice_description.str.replace(’[[]]’,’’)

part 13 改变pandas Series的数据类型

import pandas as pd
drinks = pd.read_csv(‘文件路径’)

显示文件每一列的数据类型

drinks.dtype()

将指定列的数据类型转为浮点类型,以用于数学计算

drinks[‘beer_serving’]=drinks.beer_serving.astype(float)

在读取文件时定义某列数据类型

drinks = pd.read_csv(‘文件路径’, dtype={‘beer_serving’:float})

读取的文件中看起来是数字,但仍需要进行类型转换,以便数学计算

orders.iterm_price.str.replace(’$’, ‘’).astype(float).mean()

将筛选过的数据原来表示为True或者False的,转换为1或0 的输出

order.item_name.str.contains(‘Chicken’.astype(int).head()

part14 groupby的使用

import pandas as pd
drinks = pd.read_csv(‘文件路径’)

求特定列内容对应的每一组的均值

drinks.groupby(‘continent’).beer_servings.mean()

求指定列指定内容的均值

drinks[drinks.continent==‘Europe’].beer_servings.mean()

求最大值

drinks.groupby(‘continent’).beer_servings.max()

求最小值

drinks.groupby(‘continent’).beer_servings.min()

求多个运算,计数,最小值,最大值,均值

drinks.groupby(‘continent’).beer_servings.agg([‘count’,‘min’,‘max’,‘mean’])

计算指定列每一种内容对应的其他所有数据的均值

drinks.groupby(‘continent’).mean()

使用matplotlib,绘制计算结果的柱形图

drinks.groupby(‘continent’).mean().plot(kind=‘bar’)

part 15 pandas Series

import pandas as pd
movies = pd.read_csv(‘文件路径’)

列的统计信息,

数量,种类数,最多出现次数内容及次数
movies.genre.describe()

计算指定列的各个内容在文件中的出现次数,由高到低排序

movies.genre.value_ccounts()

计算指定列的各个内容的比例

movies.genre.value_ccounts(normalize=True)

显示指定列的各个内容及出现次数,前五行

movies.genre.value_ccounts().head()

显示指定列的各种内容

movies.genre.unique()

计算指定列的内容种类数

movies.genre.nunique()

显示列中各内容在其他一列中对应内容的统计数据

pd.crosstab(movies.genre, movies.content_rating)

显示列的统计数据,数量,均值,标准差,最小值等

movies.duration.describe()

part 16 处理缺失值

import pandas as pd
ufo = pd.read_csv(‘文件路径’)

显示最后五行

ufo.tail()

显示最后五行是否缺失,

True or False
ufo.isnull().tail()

统计缺失数据

ufo.isnull().sum()

显示指定列缺失数据的行

ufo[ufo.City.isnull()]

删除含有缺失值的行,显示行列数

ufo.dropna(how=‘any’).shape

删除全部缺失的行,显示行列数

ufo.dropna(how=‘all’).shape

删除指定列中有一项缺失数据的行,显示行列数

ufo.dropna(subset=[‘City’, ‘Shape Reported’], how=‘any’).shape

删除指定列中同时缺失数据的行,显示行列数

ufo.dropna(subset=[‘City’, ‘Shape Reported’], how=‘all’).shape

ufo[‘Shape Reported’].fillna(value=‘VARIOUS’, inplace=True)

part 18 index

import pandas as pd
drinks = pd.read_csv(‘文件路径’)

设置指定列为index

drinks.set_index(‘country’, inplace=True)

通过index从value_counts中找到对应的数据

drinks.continent.value_counts()[‘Africa’]

对index本身进行排序

drinks.continent.value_counts().sort_index()

创建一个新的列,设置列名和部分索引参数值

people = pd.Series([3000000, 85000],
index=[‘Albania’, ‘Andorra’],
name=‘population’)

将文件中某一列与新创建的列相乘,可以直接筛选出该索引对应的数据

drinks.beer_serving * people

将新创建的列加入至文件中,从最后一列插入

pd.concat([drinks, people], axis=1).head()

part 19 loc iloc 之间区别

import pandas as pd
ufo = pd.read_csv(‘文件路径’)

loc 通过标签来筛选,即行对应的index,列对应的标题

显示第0行所有列的数据

ufo.loc[0,:]

显示第0,1,2行所有列数据

ufo.loc[[0, 1,2], :]

显示第0行至第3行的所有列数据

ufo.loc[0:2, :]
ufo.loc[0:2]

显示指定列的所有行
选定两列

ufo.loc[:, [‘City’, ‘State’]]

选定两列间所有列

ufo.loc[:, [‘City’:‘State’]]

显示指定行,指定列数据
0至2行的City至State列数据

ufo.loc[0:2,‘City’:‘State’]

选择当前列中符合条件的行

ufo[ufo.City==‘Oakland’]

选择当前列中符合条件的行

ufo.loc[ufo.City==‘Oakland’, :]
ufo.loc[ufo.City==‘Oakland’, ‘State’]

iloc 与loc 相同,但以数字来表示列并且在选择范围时,为[ ),不包括结束处值表示0,1,2行的数据,不包括3行
ufo.iloc[0:3, :]

part 20 inplace 的使用

对数据进行实际上的改变,一般默认为inplace=False,即不发生实际改变, 便于对数据操作并查看,没有实际上的变化,防止数据丢失

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值