Pythonのデータ分析戦闘(ソースCSDNコース)の注意事項

URL:https://edu.csdn.net/course/play/26990/361139

 

第Ⅰ章:はじめにコース

背景

1、データクレンジングは、データ分析のプロセスの最初のステップが、また、最も時間のかかるステップで全体のデータ分析プロジェクトです

図2は、データクリーニングプロセスは、データ分析の精度を決定します

3、ビッグデータの人気の高まりとともに、データクリーニングは必要なスキルの一つであります

図4は、Pythonの効率的なデータ処理を使用することは非常に重要となります

 

電気の供給業者へのデータに基づいて、

 

コースの目的

洗浄方法及び技術に関する1、マスターデータ

2、データクリーニングに使用するマスターnumpyのとパンダのライブラリ

3、洗浄段階のデータのデータ分析プロジェクトを完了することが可能です

 

コース概要

1、従来のクリーニングツールデータ

  1、numpyの共通のデータ構造および方法

  2、numpyのは、共通のデータクリーニング機能

  3、パンダシリーズ共通のデータ構造および方法

  4、パンダ共通データ構造および方法データフレーム

2、データファイルのクリーニング作業

  1、パンダは、読み取りと書き込みのCSVファイルと関連するパラメータを説明しました

  2、パンダExcelファイルが読み出されたパラメータを解釈しました

  3、MySQLでのパンダの相互作用

図3に示すように、データクリーニング処理データテーブル

  図1に示すように、データフィルタリング

  2、追加、削除データ

  3、データの修正と検索

  図4に示すように、データ削減

図4に示すように、データクリーニングのデータ変換

  1、データ処理ストリング

  図2に示すように、データ処理日付フォーマット

  図3に示すように、データ変換関数またはマッピングを使用して

5、統計のデータクレンジング

  1、データパケット方式GROUPBY

  図2に示すように、パケットの集約関数オブジェクトを使用して

  図3に示すように、グループ化されたオブジェクト、および機能の使用を適用します

図6に示すように、データの前洗浄のデータ

  図1に示すように、処理が繰り返される値

  2、欠損値

  図3に示すように、異常値処理

  図4に示すように、離散的なデータ

データクレンジングの概要

  データクリーニングは、基本的に、実際のビジネス上の問題、クリーンな汚れたデータは、「クリーンデータ」は、いわゆる汚れは、手段はいくつかの問題(大きな問題)によって異なる場合がありますに変換されます。

    図1に示すように、属性値がヌルである(不完全な状態で)データ削除。占有=「」

    図2に示すように、ノイズデータ(雑音)データ値が異常である場合。給与= " - 100"

    図3に示すように、データの不整合(矛盾)前後矛盾するデータが存在することです。年齢=「042」や誕生日=「1985年1月9日」

    図4は、データの冗長性(冗長)またはデータの量は、必要な属性データ解析の数を超えます。

    データを図5に示すように、外れ値/異常値(外れ値)価値が大部分の逸脱れます

    6、重複したデータは、データがより多くのデータセットで何度も表示されます

 

 


第II章:一般的なツールのデータクリーニング

1、データクレンジング意義

  1は、実際の生活の中で、データが完全でない、必要性洗浄すべき後のデータ解析

  2、データ分析、プロジェクト全体に最も時間のかかるステップをクレンジングデータ

  3.データの品質は、最終的に、データ分析の精度を決定します

  図4に示すように、データは、洗浄方法は、データ分析の結果がより確実になるように、データの品質を向上させることが可能です

2、データクリーニング

  1は、現在、Pythonで、numpyのとパンダは最も主流のツールです

  図2に示すように、量子化操作は、numpyのデータ処理が効率的になるようなものです

  図3は、パンダは、大量のデータをクリーニングする効率的な方法を提供します

  4、Pythonで、可能な限りパンダnumpyの及び機能の使用は、データの洗浄効率を向上させるため

3、numpyの共通データ構造

  1、numpyのデータ構造が一般的に使用されるフォーマットndarray

  2、配列(リストまたは元祖)のような構文を作成するために、配列関数を使用して

  3、あなたはなどarange、linspace、ゼロを、作成などの他の機能を使用することができます

    

 

 

   説明:ndimリターン寸法、形状、サイズ、アレイ内の要素の総数を返し、配列要素のDTYPE戻り型の構造体の配列を返します

  np.array[a,b]  a:代表行索引  b:代表列索引  

4、numpyのは、共通のデータクリーニング機能

  4.1、ソート機能

      ソート機能:ソート昇順、キーワード軸方向軸を決定し、ランキング逆方向を決定します

      argsort機能:データは、小規模から大規模のインデックス値に、返されます

  4.2、データ検索

      どこ機能:S> 3 ,,他に-1。np.where(s>3,1,-1)

      抽出機能: 条件が見つけるために、それ以外の場合は破棄np.extract(s>3,s)

  5、パンダシリーズ共通のデータ構造および方法

      pandas.Seriesによってデータ構造を作成するためのシリーズ

      pandas.Series(データ、インデックス、DTYPE、名前)

      上記のパラメータは、データは、リスト、配列、または辞書であってもよいです。

      控訴パラメータは、インデックスは、インデックスを表し、あなたは同じデータ長を指定する必要があり、名前はオブジェクトを表し

6、パンダの一般的なデータ構造および方法データフレーム

      pandas.DataFrameによってデータ構造を作成するためのデータフレーム

      pandas.DataFrame(データ、インデックス、DTYPE、コラム)

      上記のパラメータは、データは、リスト、配列、または辞書であってもよいです

      上記のパラメータは、インデックスは、列または列名の列ラベルの代表的な行インデックスを表し

 

第3章:ファイルの読み取りおよび書き込みデータのクリーニング

1、CSVファイルの読み込みと書き込み

  パンダが内蔵されたソースデータの10種類の機能を読んで、それはCSVやExcelで共通であります

  使用して、読み取り方法をread_csv、結果はデー​​タフレームのフォーマットであります

  CSVファイルを読み込む場合、ファイル名はできるだけ英語であります

  多くのパラメータは、自己制御することが、多くの場合、デフォルトのパラメータを持つことができます

  読み取りCSV、ノート符号化は、一般に、UTF-8、GBK、gbk2312としてエンコード及びGB18030など

  to_csvを使用してクイックセーブ方法

  df = pd.read_csv('meal_order_info.csv',encoding='gbk')df =pd.read_csv('meal_order_info.csv',encoding='gbk',nrows=10)df.to_csv('df.csv', index=False)

  ヒント:1a.set_option('display.max_rows':100)

      2import os

        os.chdir('path')

仕上げのプロセス

           

2、Excelドキュメントリテラシー

  使用して、読み取り方法をread_excel、結果はデー​​タフレームのフォーマットであります

  読むExcelファイルやCSVファイルのパラメータ大体同じですが、ワークシートのページを検討します

  多くのパラメータは、自己制御することが、多くの場合、デフォルトのパラメータを持つことができます

  読み取りエクセル、ノート符号化は、一般に、UTF-8、GBK、gbk2312としてエンコード及びGB18030など

  使用to_excel方法は、XLSX形式として急速に保存されます

  df = pd.read_excel('meal_info.xlsx',sheet_name='sheet1')

  df = pd.read_excel('meal_info.xlsx',encoding='utf-8',nrows=10) df.to_excel('a.xlsx',sheet_name='sheet1',index=False,encoding='utf-8')

3、データベースファイルの読み取りと書き込み

  SQLAlchemyのを使用して接続を確立します

  あなたは、このようなデータベースのIPアドレス、ユーザー名やパスワードなど、データベースのパラメータを知っている必要があります

  通过pandas中read_sql函数读入,读取完以后是dataframe格式

  通过dataframe的to_sql方法保存

  sql = 'select * from meal_order_info' df1 = pd.read_sql(sql,conn) df.to_sql('testdf',con=conn,index=False,if_exists='replace')

  数据库建立连接参数 

  conn = create_engine('mysql+pymysql://user:passward@IP:3306/test01')

  root:用户名

  passward:密码

  IP:服务器IP,本地电脑用localhost

  3306:端口号

  test01:数据库名称

  df.to_sql(name, con=engine,if_exists='replace/append/fail',index=False)

  name是表名

  con是连接

  if_exists:表如果存在怎么处理。三个选项append代表追加,replace代表删除原表,建立新表,fail代表什么都不干

  index=False 不插入索引index

 

第四章:数据清洗之数据表处理

1、数据筛选

  1.1 数据常用筛选方法

  在数据中,选择需要的行或者列

  基础索引方式,就是直接引用

  ioc[行索引名称或者条件,列索引名称或者标签]

  iloc[行索引位置,列索引位置]

  注意:区分loc和iloc

  loc索引的是标签的名称,iloc索引的是行列的索引编号

2、数据增加和删除

  在数据中,直接添加列

  使用df.insert方法在数据中添加一列

  掌握drop(labels, axis, inplace=True)的用法

  labels表示删除的数据,axis表示作用轴,inplace=True表示是否对原数据生效

  axis=0按行操作,axis=1按列操作

  使用del函数直接删除其中一列 

  del basic['数据']

  basic.drop(labels=['数量','价格'], axis=1, inplace=True)

  basic.drop(labels=range(6,11), axis=0, inplace=True)

  basic.insert(位置, '新名称',需要插入的数据)

3、数据修改和查找

  在数据中,可以使用rename修改列名称或者行索引名称

  使用loc方法修改数据

  使用loc方法查找符合条件的数据

  条件与条件之前用&或者|连接,分别代表'且','或'

  使用between和isin选择满足条件的行

    

  df[df['buy_mount'].between(4,10, inclusive=True)]

  df[ df['cat'].isin(['24','26','546'])]

4、数据整理

  定义:在数据清洗过程中,很多时候需要将不用的数据整理在一起,方便后续的分析,这个过程也叫数据合并。

  合并方法:常见的合并方法有堆叠和按主键进行合并,堆叠又分为横向堆叠和纵向堆叠,按主键合并类似于sql里面的关联操作。

  

5、层次化索引

   

 

     df.loc[(28,[20303,2344]),['auction_id','cat_id']]

 

第五章:数据清洗之数据转换

1、日期格式数据处理

  Pandas中使用to_datetime()方法将文本格式转换为日期格式

  dataframe数据类型如果为datatime64,可以使用dt方法取出年月日等

  对于时间差数据,可以使用timedelta函数将其转换为指定时间单位的数值

  时间差数据,可以使用dt方法访问其常用属性

  

 

   df['diff_day'].astype('timedelta64[Y]')

2、高阶函数处理

  在dataframe中使用apply方法,调用自定义函数对数据进行处理

  函数apply,axis=0表示对行进行操作,axis=1表示对列进行操作

  可以使用astype函数对数据进行转换

  可以使用map函数进行数据转换

  

 

 

 

 

  df2['性别']=df2['gender'].map({'0':'女','1':'男','2':'未知'})

  df2['性别']=df2['gender'].map(f1)

3、字符串数据处理

 

 

第六章:数据清洗之数据统计

1、数据分组方法

 

  使用groupby方法进行分组计算,得到分组对象GroupBy

  语法为df.groupby(by=)

  分组对象GroupBy可以运用描述性统计方法,如count、mean、median、max、和min等

  Group = load_info.groupby(by='product')

  group1 = loan_info.groupby(by=['product','jgmc'])

  Group.mean()

  Group.sum()

  Group.max()

2、聚合函数使用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/nuochengze/p/12426527.html