用python进行数据处理

1,导入所需模块

import pandas as pd
import nunpy as np
import pymysql

2,数据导入

#导入txt文件
df=pd.read_table(文件路径与文件名,列名,分隔符)  

#导入csv文件 
df=pd.read_csv(文件路径与文件名,列名,分隔符)   

#导入excel文件
df=pd.read_excel(文件路径与文件名,sheet名,列名) 

#导入mysql
conn=pymysql.connect(host="",database="",user="",password="",port=3306,charset='utf8')
sql=""               #sql语句
df=pd.read_sql(sql,comm)
conn.close()
#或
config={'host':'','port':'','user':'','password':'','db':'','charset':'','cursorclass':pymysql.cursors.DictCursor}
conn=pymysql.connect(**config)
try:
    with conn.cursor() as cursor:
    sql="select * from table_name"
    pymysql.cursor.execute(sql)
    result=pymysql.cursor.fetchall()
finally:
    conn.close()
df=pd.DataFrame(result)
#或
from sqlalchemy import create_engine
eng=create_engine('mysql+pymysql://user:password@host:port/databasename')
df=pd.read_sql('table_name',engine)

#查看数据
df.head()      #默认5行,在括号内可以自己填写行数。

3.数据清洗

#显示是否有重复值
df.duplicated().tail()  #第二次及以后出现的行显示位重复
df[df.duplicated()]     #显示重复行
df1=df.drop_duplicated()    #去掉重复行
df1.isnull().any()       #判断有缺失值的行
df1[df1.isnumm().values==True]  # 显示存在缺失值的行
df2=df1.fillna(0)         #0填充空数据
df3=df2.copy()            
#strip删除指定列数据两边空格,lstrip删除左空格,rstrip删除右边空格
df3['列名']=df2['列名'].astype(str).map(str.srtip)

发表评论

电子邮件地址不会被公开。