赞
踩
Pandas数据分析课程常用操作笔记(更新中)
Import pandas as pd
Import numpy as np
df= pd.read_csv('data.csv',sep=";")
#参数sep可选择分隔符,默认为","
df.head(10) #显示前10行,参数可变 df.tail(10) #显示后10行,参数可变 df.iloc[np.r_[0:10, -10:0]] #同时显示前10和后10行 df_m = df[df['column1'] == 'value1'] df_m = df.query('column1 == {}'.format('value1')) #query函数筛选数据, 若为字符串需要为字符串加双引号 df.info() #显示dataframe的属性,行数、列数、每列的非NA数等 df.describe() #显示各列最大最小,平均,分位数等值 df.duplicated() df.duplicated().sum() #返回每行是否有重复值,用.sum()可以算出重复的总数 df['column1'].unique() #返回该列不重复值的array,.unique()只用于series,若df[['column1']].unique()会报错, 等价于df.column1.unique() df.column1.nunique() #number of unique elements df.isna().any() #查看每列是否有NA值 df.isna().sum() #查看每列NA值总数 df.shape[0] #查看行数,也可以用len(df) df.shape[1] #查看列数
df.index.values.tolist() #将行索引转化为列表 df.columns.values.tolist() #将列索引转化为列表 df['column'].value_counts() #查看某列各值的个数 df[df['column1'].str.contains('str')] #过滤column1中包含str的所有行 df['column'].str.extract('(\d+)').astype(int) #正则表达式提取数字(\d为0-9,\d+为所有数字) df['column'].astype(int) #转换数据类型为int df.append(self, other, ignore_index=False, verify_integrity=False, sort=None) #合并数据集 # ignore_index:默认值为False,如果为True则不使用index标签,可避免index重复 # verify_integrity :默认值为False,当创建的index相同时会抛出ValueError的异常 # sort:默认是None,该属性在pandas的0.23.0及以上的版本才存在。 pd.merge(df1, df2, how='outer',left_on='column1',right_on='column2') #连接数据集 #how: 'inner','outer','left','right'. #left_on:左边连接值,right_on:右边连接值 df.rename(index={'index1':'new_index'},columns={'column1':'new_column'}) df.rename(columns= lambda x: x[:10]+'XXXX') #重命名数据集col1, 若需要以相同规则重命名所有的列/行,可以用lambda函数 df.drop(index) df.drop(['column1', 'column2'], axis=1) #删除无效数据,默认删除行,删除列需要令axis=1 df.drop_duplicates() #删除重复的行 df.groupby(['column1','column2'], as_index=False)['column3'].mean() #将col1、col2作为分组显示col3的均值,其他统计参数同理。 #['column3']不写即显示所有列 df.groupby(['column1','column2'], as_index=False)['column3'].mean().sort_values(ascending=False) #如果要排序可使用sort_values,ascending=False为降序 pd.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise') #x: 输入,1维数组 #bins: int, sequence of scalars, or IntervalIndex; #right: True包含右区间 #labels: 数组或布尔,False时返回bin的整数索引值 #duplicates:'raise' or 'drop', 边界值不唯一的时候drop掉或者raise ValueError pd.sample(200,replace=True) #取200个样本,replace=True为有放回抽样,False为无放回抽样
pd.to_csv('data_edited.csv', index=False)
#index=False 不保存index
df.plot(kind='bar')
#bar条形图,barh水平条形图,hist直方图,scatter散点图,pie饼图,box箱型图,line线图,density密度图
df.plot(kind='scatter', alpha=0.1)
#alpha透明度
df.hist('column1')
#画出column1对应的直方图,图形等于df[['column1']].plot(kind='bar'),细节有差异
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。