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,即不发生实际改变, 便于对数据操作并查看,没有实际上的变化,防止数据丢失