读取数据
列举几种常用的文件读取函数
pd.read_csv(r"文件路径") CSV文件读取,r表示进行转译,下同pd.read_table(r"文件路径") 特定分隔符的文本文件的读取pd.read_excel(r"文件路径") Excel文件读取pd.read_clipboard() 获取你复制的数据,直接复制自己想要的数据然后用这个命令读取pd.read_json(json_string):从JSON格式的字符串导入数据pd.read_sql(query, connection_object):从SQL表/库导入数据,见如下程序:
import pymysql
con
= pymysql
.connect
(localhost
= "主机地址",user
= "用户名",password
= "密码",database
= "库名",charset
= "utf8")
sql_cmd
= "select * from 表名"
df
= pd
.read_sql
(sql_cmd
,con
)
数据基本情况统计
df.head() 查看数据前几行(默认5行)df.tail() 查看数据后几行df.shape 查看行数和列数(注意没有括号)df.dtypes 查看数据类型df.index 索引描述df.columns 列数的描述df.info() 查看数据详细信息df.describe() 查看数值型列的汇总统计df.count() 返回每列没有缺失值的个数df.mean() 返回所有列的均值df.corr() 返回列与列之间的相关系数df.max(),df.min() 返回每一列的最大最小值df.median() 返回每一列的中位数df.std() 返回每一列的标准差
数据选取
df[“列名”] 根据列名提取列,返回Series形式df[[“列名1”,“列名2”,…]] 选取多列,以DataFrame形式返回df.iloc[0:5,:] 返回前五行df.iloc[0,0] 返回第一列的第一个元素
数据分析
数据清洗与处理
df.rename(columns = {“旧名”:“新名”,"":""…} 选择性给列重命名 df.columns = [‘a’,‘b’,‘c’] 重命名列名 df.reset_index() 重命名行名(index)pd.isnull(df) 检查空值df.dropna() 删除所有含有空值的行fillna(df[col].mean()) 用均值填充数值型缺失值df.fillna(x):用x替换数据中所有的空值s.astype(float) 将Serise列的数据类型改为floatpd.to_datetime(“时间",format = “%Y-%M_%D” )df.sort_values(by = col,na_position = “first”) 按某一列排序,默认降序,ascending = False 升序df.sort_values([col1,col2], ascending=[True,False]) 先按col降序,再按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.meandata.apply(np.max,axis=1):对DataFrame中的每一行应用函数np.max
构建模型
根据业务指标构建模型 关于时间的数据
pd.to_datetime(df[col],format = “%y-%m-%d”) 将字符串 日期改为时间型日期df.col.dt.month 提取月份数据(前提是日期数据)df.col.dt.year 提取年份df.col.dt.day 提取天数df.drop_duplicates(set =[col1,col2]) 删除重复值
若数据有好几部分,则:
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.to_csv(filename):导出数据到CSV文件df.to_excel(filename):导出数据到Excel文件df.to_sql(table_name, connection_object):导出数据到SQL表df.to_json(filename):以Json格式导出数据到文本文件