python数据分析入门
生活随笔
收集整理的這篇文章主要介紹了
python数据分析入门
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python數據分析入門,作為入門文章系列主要包含以下幾個內容:
1.數據的來源(本案例采用的數據來自于上一篇文章中爬取的智聯招聘信息):讀取數據庫數據、數據寫入csv文件、讀取csv文件等
2.數據的處理:對載入到內存的數據進行一系列的操作(處理總共包含清洗、過濾、分組、統計、排序、計算平均數等一系列操作,本文只簡單涉及了其中某幾個)
3.對處理后的數據進行可視化分析等
# !/usr/bin/env python # -*-coding:utf-8-*- """ @Author? : xiaofeng @Time? ? : 2018/12/19 15:23 @Desc : Less interests,More interest.(數據分析入門) @Project : python_appliction @FileName: analysis1.py @Software: PyCharm @Blog? ? :https://blog.csdn.net/zwx19921215 """ import pymysql as db import pandas as pd import numpy as np import seaborn as sns import matplotlib as mpl import matplotlib.pyplot as plt# mysql config mysql_config = {'host': '110.0.2.130','user': 'test','password': 'test','database': 'xiaofeng','charset': 'utf8' }""" read data from mysql and write to local file (從數據庫中讀取數據寫入本地文件) @:param page_no @:param page_size @:param path 文件寫入路徑 """def read_to_csv(page_no, page_size, path):# read from databasedatabase = db.connect(**mysql_config)if page_no > 1:page_no = (page_no - 1) * page_sizeelse:page_no = 0sql = 'select * from zhilian limit ' + str(page_no) + ',' + str(page_size) + ''df = pd.read_sql(sql, database)print(df)database.close()# write to csvlocal = pathdf.to_csv(local, encoding='gbk')""" read data from remote address or local address (讀取文件從遠程地址或者本地) """def read_from_csv(path):# remote address# data_url = 'https://xxxx/zhilian.csv'# local address# data_url = 'G:/zhilian.csv'df = pd.read_csv(path, encoding='gbk')return df""" 數據集的簡單(過濾、分組、排序)處理 """def simple_op(path):df = read_from_csv(path)# top 10 :獲取前10行print('--------------top 10-----------')top = df.head(10)print(top)# tail 10:獲取后10行print('------------tail 10------------')tail = df.tail(10)print(tail)# filter:根據指定條件過濾print('-------------filter----------')special_jobid = df[df.JobID == 595950]print(special_jobid)special = df[(df.id >= 110) & (df.PublishDate == '2018-12-18')]print(special)# check :檢查各列缺失情況print('-------------check----------------')check = df.info()print(check)print('--------------data describe-----------')# count,平均數,標準差,中位數,最小值,最大值,25 % 分位數,75 % 分位數describe = df.describe()print(describe)# 添加新列df2 = df.copy()df2['AnnualSalaryAvg'] = (df['AnnualSalaryMax'] + df['AnnualSalaryMin']) / 2# 重新排列指定列columns = ['JobID', 'JobTitle', 'CompanyName', 'AnnualSalaryMin', 'AnnualSalaryMax', 'AnnualSalaryAvg']df = pd.DataFrame(df2, columns=columns)print(df)""" 可視化分析 """def visualized_analysis(path):df = read_from_csv(path)df_post_count = df.groupby('JobLactionStr')['AnnualSalaryMax'].count().to_frame().reset_index()# subplots(1, 1) 表示1x1個子圖,figsize=(25, 8) 子圖的寬度和高度# f, [ax1,ax2] = plt.subplots(1, 2, figsize=(25, 8)) 表示1x2個子圖f, ax2 = plt.subplots(1, 1, figsize=(25, 8))sns.barplot(x='JobLactionStr', y='AnnualSalaryMax', palette='Greens_d', data=df_post_count, ax=ax2)ax2.set_title('各城市職位數量對比', fontsize=15)ax2.set_xlabel('城市')ax2.set_ylabel('數量')# 用來正常顯示中文標簽plt.rcParams['font.sans-serif'] = ['SimHei']# 用來正常顯示負號plt.rcParams['axes.unicode_minus'] = Falseplt.show()if __name__ == '__main__':path = 'G:/zhilian.csv'read_to_csv(0, 100, path)df = read_from_csv(path)simple_op(path)visualized_analysis(path)控制臺輸出如下:
?
寫入本地csv文件效果如下:
?
可視化效果如下:
?
注:由于是入門文章第一篇,所以并沒有對數據分析做過深的探索,更深層次的研究將會在后續系列中呈現!
總結
以上是生活随笔為你收集整理的python数据分析入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果连续第 16 年被《福布斯》评为全球
- 下一篇: 3年前旗舰也有份!中国广电剧透:小米10