COMP90059_


ここではMAC、MSDOS標準CDV(カンマ区切り値)を提供Crime_Data_Large_DirtyとCrime_Data_Small_Dirtyの追加の代替バージョンは、です。あなたは、元のデータ・ファイルに問題が発生した場合は、これらを試してみてください。あなたがロードしようとしているファイルの正しいファイル名と場所を提供したことを確認してください。私はそれぞれをテストし、それらが問題なく動作することを発見しました。
大規模データセット:

COMP90059_CrimeData_Large_Dirty_MSDOS.csv
COMP90059_CrimeData_Large_Dirty_Mac.csv
COMP90059_CrimeData_Large_Dirty_CDV.csv
小さなデータセット:
COMP90059_CrimeData_Small_Dirty_CDV.csv
COMP90059_CrimeData_Small_Dirty_Mac.csv
COMP90059_CrimeData_Small_Dirty_MSDOS.csv

この割り当てのために必要なファイル:
-あなたは、Pythonにデータをロードするのに役立つプログラム起動Assignment2.py
COMP90059_CrimeData_Large_Clean.csv -クリーニング以外の機能で、あなたを助けるために、メインデータのクリーンバージョン...あなたがそれを必要とする場合。
COMP90059_CrimeData_Large_Dirty.csvは-あなたは、最終的な提出のために作業する必要があります。メインデータ
COMP90059_CrimeData_Small_Clean.csv -クリーンなデータの小型バージョンでは、データのナビゲーション上で動作させるために...あなたがそれを必要とする場合。
COMP90059_CrimeData_Small_Dirty.csv -データの小型バージョンでは、きれいなあなたを助けるし、データをナビゲートするために...あなたがそれを必要とする場合
、この割り当てでFIVE(5)の質問があります。第五の質問は、あなたが最初の4つの質問に書いた関数を呼び出すことが必要になります

做MAC、MSDOS作业、代写Pythonの编程设计作业、代做CrimeData作业、代写Pythonの实验作业代
疑問の解決に外を見るためのものがあります:
にコードを分割するなど、余分な変数を作成することを恐れて決して概念的なサブパーツは、読みやすさを向上させる、またはあなたのコード内の重複を避けます。
あなたはあなたのコードを簡素化するためのヘルパー関数を記述するためにあなたを奨励している-あなたが好きなようにあなたがいる限り、それらの一つがあるとして、できるだけ多くの機能を書くことができ
、あなたが書くように求めている機能。
コードのコメントは、あなたがマークされますものです。:、あなたのコード内のコメントを書くことに焦点を当て、いくつかの練習を取得する
ヘッダブロックをoAdding、開発者に提供するID
(ループのインデックス変数のようなものをではなく)oDescribingキー変数を、彼らが最初に定義されている場合
コードの「チャンク」は(つまりいないすべての行が、そのようななどの特定の操作を実行するコードの塊、何oDescribing
O
#リストまたは最大値を見つけるO
#母音の数を数えるoを
oを
O
オーストラリアの犯罪統計を以上、data.gov.au/datasetこのデータは郡と地方政府当局の領域(LGA)の間で分離されたオーストラリアの全体をカバーする犯罪の傾向を示しています。データベースは、オーストラリア政府のウェブサイト上で自由に利用可能である犯罪統計データを保持しています年の数は。これらのデータベースに保持されている情報は、地理的な場所の数で、不法侵入から殺人まで犯した犯罪の数を強調表示します。
この割り当てのためのあなたの仕事は、ソフトウェア開発者/アナリストとしての契約を取ると現実的なプロジェクトの要件に対応するためになります。
------
おめでとうございます!あなたは彼らがオンライン犯罪データセットの中から、様々な情報を把握助けるためにオーストラリア政府によってMUC(メイドアップ社)によって任命されました。データセットは、ハイテク犯罪者によって破壊されており、以前の基本的な分析を提供し、それをクリーンアップを助けるためにあなたのスキルが必要になります。
あなたの仕事の一環として、あなたが開発し、この要求に応えることができるアプリケーションするように求められます。あなたは、特定のタスクを実行する4(4)の機能をコーディングします。また、あなたが開発したすべての新機能を利用する「メイン」機能を記述します。
犯罪統計データは、1つ以上のカンマ区切り値(CSV)ファイルであなたに提供されます。あなたはLMS上の課題2フォルダにこれを見つけるでしょう。
CSVが広く表データ(行と列から成るデータ)を記憶するために使用される単純なファイル形式です。CSVファイルでは、列がコンマで区切られており、行は(したがって、テキストファイルのすべての行がデータの行に対応する)改行で区切られています。通常、ファイルの最初の行は、列の名前を与えるヘッダ行です。
ID、統計課または区、LGA、オフェンスカテゴリ、サブカテゴリ、年の統計:犯罪統計データには、次の列が含まれています。

ID(データの各行に割り当てられた整数のユニークなID)
統計課または区(犯罪がコミットされた広域)
LGA(犯罪エリアを管理する地方自治エリア)
オフェンスカテゴリ(犯罪カテゴリのタイトル)
サブカテゴリ(各カテゴリの領域内の犯罪の内訳)
その年に行われた各犯罪に対応する集計を開催2002年から2012年に至るまで年の統計()()


供給MUCによってあなたに提供されているように、CVSデータのサンプルです。実際には、我々は4データサンプルを提供しています。大2と小さな2。各(大小)試料の一つは、(荒らさ)汚染され、そして(大と小)他の2つはクリーンです。どちらも小さくてきれいなサンプルは、コードの開発にあなたを助けるために提供されます。小さなサンプルが迅速に処理されます。きれいなサンプルが必要な清掃作業を完了せずに、あなたが進行することができます。あなたの最終的なコードは、大ダーティデータ・セットで動作するはずです。
クリーンアップやデータを分析するためには、CSVファイルからデータを取得し、Pythonのデータ構造にそれを置くための方法が必要です。幸い、Pythonはあなたのための仕事のほとんどを行うことができます内蔵のCSVライブラリを持っています。
この割り当てでは、あなたはしかし、直接CSVライブラリを使用する必要はありません。私たちは、データを読み取り、辞書の辞書にそれを回すために、CSVライブラリを使用していますREAD_DATAと呼ばれるヘルパー関数を提供します。例えば、データCrimeDataSet.csvと呼ばれるファイルに保存した上でとします。:Pythonでこのデータを操作するために、我々は、以下の(read_data.pyファイルの作業ディレクトリ内から)呼び出します
READ_DATA(「CrimeDataSet.csv」)
次のPython辞書を返します:

{ '1' { '分割': 'インナーシドニー'、 'LGA': 'ボタニー湾'、 'オフェンス': '殺人'、 'サブカテゴリ': '殺人(A)'、 '2002': '1' '2003': '0'、 '2004': 'ゼロ'、 '2005': '1'、 '2006': '2'、 '2007': '1'、 '2008': '0'、 ' 2009' : '1'、 '2010': '0'、 '2011': '0'、 '2012': '1'}}

ネストされた辞書内のすべての値が文字列であることに注意してくださいは、さえ数値。あなたは数値計算の値を使用する場合は、自分で型キャストする必要があります。

ネストされた辞書が混乱することができます。ここでは、ネストされた辞書内のデータにアクセスする方法のいくつかの簡単な例を示します。

#変数にデータを保存
{ '分割': 'インナーシドニー'、 'LGA': 'ボタニー湾'、 'オフェンス': '殺人'、 'サブカテゴリ':データ= { '1'「殺人(A) 」、 '2002': '1'、 '2003': '0'、 '2004': '0'、 '2005': '1'、 '2006': '2'、 '2007': '1'、 '2008': '0'、 '2009': '1'、 '2010': '0'、 '2011': '0'、 '2012': '1'}}
'1' IDの部門である#
印刷(データ[「1」] [「部門は」])
第2のIDのサブカテゴリである何#
印刷(データ[「2」] [「サブカテゴリ」])
#ID「1」の各年の合計は何ですか
和= 0
範囲内year_data(2002、+ 1日):
和+ = INT(データ[ '1'] [STR(year_data)])

あなたは、オーストラリア国内で犯罪データを含む大規模なCSVファイルで提供されています。残念ながら、データが汚染されていて、「汚い」と考えられている:犯罪の明確な理解を覆すために、いくつかの犯罪者、ハッカーはデータを攻撃して、意図的に不正なデータ値を入力しました。
プログラマ・アナリストとしてあなたの最初の仕事は、後で分析するために、ダーティデータをクリーンアップし、犯罪者によって引き起こされるすべての問題を解決することです。

このデータセット内の誤差は全体にちりばめまたは散乱、以下の変更で構成されます。

彼らは、ゼロの代わりに整数値0を含んでいた
彼らはまた、代わりに整数値0のNULL入力した
彼らは、負の数(すなわち-10の代わりに10等)に正の数に変換しています。
そして彼らは、テキストの残酷な大文字の文字列で不法侵入(サブカテゴリ列内)のためのすべてのエントリを変更しました。MUC-SUCK!
、明確にするためにデータセットに、ゼロと呼ばれる任意の値は、整数0(ゼロ)であるべきで、NULLを参照して任意の値はまた、整数0(ゼロ)であるべきで、すべての整数値が正の値(即ち、マイナスでなければなりません20は、正20なければならない)とSubcatogoryが飛翔内MUCについての軽蔑的な発言は、実際には不法侵入として読まれるべきです


タスク1(クリーンデータ)は
一つの引数と呼ばれるデータを受け取り、クリーンと呼ばれる関数を記述します。:このように利用すべき
クリーン(データ)
、データ値がデータ辞書から成ります。これREAD_DATAによって返されたフォーマットタイプです。このデータは、CSVファイルから直接読み込まれた汚染や汚れが推定されます!あなたの関数は、無効なデータ値を交換する必要があり除き、入力辞書と同一の新しいデータ辞書を構築し、返す必要があります。上記のように。あなたは、引数の辞書変数データを変更する必要はありません。洗浄プロセスは、それがきれいにすべてのデータサンプルの数を維持し、また、新しい洗浄辞書データセットと一緒に、この合計さ値を返す必要があります。
CrimeDataSetDirty.csvに含まれるデータを見てみましょう:

{ '1' { '分割': 'インナーシドニー'、 'LGA': 'ボタニー湾'、 'オフェンス': '殺人'、 'サブカテゴリ': '殺人(A)'、 '2002': '1' '2003': '0'、 '2004': 'ゼロ'、 '2005': '1'、 '2006': '2'、 '2007': ' - 1'、 '2008': '0'、 '2009': '1'、 '2010': '0'、 '2011': '0'、 '2012': '1'}}

明らかにいくつかの値は無効です!このデータにclean_dataを呼び出すと、次のような結果をもたらすであろう:
{「1」:{「部門」:「インナーシドニー」、「LGA」:「ボタニー湾」、「オフェンス」:「殺人」、「サブカテゴリ」:「殺人(A) ' '2002': '1'、 '2003': '0'、 '2004': '0'、 '2005': '1'、 '2006': '2'、 '2007':' 1' 、 '2008': '0'、 '2009': '1'、 '2010': '0'、 '2011': '0'、 '2012': '1'}}


清掃データのネストされた2004年から2007年辞書に0と負の値に注意してください、以前に「ゼロ」とした「-1」。上記のリストから、あまりにも他の修理の変更を忘れないでください!
あなたは次のことを前提とすることができます:

最終的な入力データ・ディクショナリは、ゼロまたはヌルまたは負の値を含むべきではありません。
すべての年の列データエントリの統計(一回洗浄)int型にキャストすることができます文字列です。
MUCについての軽蔑的な発言を含むサブカテゴリ-列内のすべての参照は、不法侵入に戻って軽蔑的発言から名前を変更する必要があります

タスク2(最悪の年)
の二つの引数に取るcountCrimesという関数を書きます。データとキー。データ値はdictionarycontaining犯罪データになり、キー値は、年間の統計データを表す適切な値になります。関数は、キー列(複数可)内のすべての値を合算し、(各年を表す)の合計値を返します。たとえば、キー「2012」のすべての犯罪は、その列にかかわらず、犯罪の総和を表す整数を返す必要があります。
この機能を使用すると、あなたのmainメソッド内で、あなたは(つまり、年間最大総犯罪と)、犯罪のための最悪の年を計算し、その年の年と犯罪の合計数を表示し、次に保存する必要があります。あなたはすべての無効な値が交換された後、「クリーン」であるデータの犯罪データをとることができます。だから、すべての値は非負整数であり、すべてのデータ値が修復されました。クリーンなデータを含むclean_data_set.csvファイルは、ケースには、あなたがまだダーティ・データ・セットはまだをきれいにすることができていない、あなたは、このメソッドをテストできるようにするために供給されています。

タスク3(最悪の面積)
MUCは異なる統計区領域全体犯罪の分布に興味を持っています。これを確立するための一つの方法は、独自のビンや辞書のキーにそれぞれの区を分割することです。どこの鍵は、細分化区域内のすべての年のすべての犯罪の合計を保持しています。
その後、キーは区名で新しい辞書を返し、値はすべての上に、そのエリア内のすべての犯罪の合計さの合計である引数のデータを取り、各年の各区の値を加算worstCrimeという関数を、書きます年。main関数、店舗の中から見つかった分割数を表示し、「最悪のエリア」と「ベスト・エリア」として最低の全体的な犯罪の値を持つ領域として最高の全体的な犯罪値と面積を提示。

タスク4(ほとんどのアクティブな犯罪行為)
MUCも犯罪が全体のデータセット全体のほとんどを行っている学習に興味を持っています。この情報を取得することにより、彼らはより堅牢犯罪の種類をターゲットに、セキュリティレベルの強化に注力することができるようになります。
これらの犯罪は、全体的なコミットされた頻度の集計(カウント)を保持しているさまざまな犯罪の種類の辞書を返しmostActiveCrime(データ)という関数を、書きます。つまり、辞書内の各キーは(例えば殺人、または強盗などとして)犯罪の名前になり、その値は、その中に、allyearsを通してその特定の犯罪のための犯罪のタリーであろう。最後に、あなたの主な機能の中、返される辞書、店舗からの最もアクティブ/行っ犯罪の種類を表示し、「全体的にほとんどのアクティブな犯罪」としてそれを提示し、その合計さの値を含みます。

タスク5(最終報告書を提供する)
政府が彼らの供給データセット内の最終ステータスと犯罪状況に関するレポートを生成するためにMUCを求めています。MUCは彼らがこのレポートのために適切なデータを見つけやすくするためにあなたを求めています。
引数としてファイル名(と呼ばれるデータファイルを)とる関数と呼ばれるレポートを書きます。この関数は、データをきれいにするあなたの関数(クリーン)を使用して、そのファイル名の下に含まれている元の犯罪データを読み込みます。これに続いて、あなたは、オーストラリアでの犯罪についてのいくつかの事実を提示するために新しく作成された機能(1〜4)を使用します。
あなたは、データ・ファイル内のデータにノイズが多いことを想定する必要があります。あなたの関数は、リストとして、次のデータ・事実を計算して返す必要があります:


データ内の行の合計数は、ファイル
データで調べた下位区分の合計数を
オフェンスカテゴリーの総数
最悪の面積と(それぞれ最もおよび少なくとも犯罪カウント)最高の犯罪のための領域
犯罪の最も活発なタイプ。

なお、
あなたはおそらく、それが役に立つあなたがあなたの関数の出力をテストしていることを確認するために、あなたの主な機能になどのread_data、clean_dataを呼び出すことができます。

埋め込まれた統計データ値と、フォーマットされたテキスト出力であなたの分析を提示します。ここでは、出力がどのように見えるかの例であり、総額は<あなたの名前:STUDENT_ID>は、あなたの分析データ、表現するために使用されています書かれているが、自分の名前とSTUDENT_IDを追加してください。CAPITALISATOINSの値は、あなたの機能や分析の結果によって提供されます。
「MUC(メイドアップ社)を代表して、私は10年間にわたり、犯罪統計データのTOTAL_DATA_ROWSユニットを分析しました。私は修復した?REPAIR_COUNTcorruptデータ値を。このデータ・セットは?NUMBER_OF_UNIQUE_CRIME_SUBDIVISIONS?下位区分をカバーし、犯罪のUNIQUE_CRIMESタイプを見つけました。私は罪のために最悪の面積がWORST_AREA、最も安全なエリアがBEST_AREAで、犯罪の最も活発なカテゴリがMOST_ACTIVEであるということであると結論付けています。敬具、<あなたのお名前:STUDENT_ID>。

YourName_StudentID_Assignment2.pyとしてあなたのPythonのファイルを保存します。あなたの名前はあなたの実際の名前であり、学生のIDは、実際の学生のIDです。あなたの作品を提出するには、提供、GROKシステムを通って、LMS?ターンイットインプラットフォーム上に(すべて5つの機能付き)あなたの完全なソースコードを含む、あなたのPython Name_ID_Assignment2.pyファイルをアップロードしてください。

プロ、とても信頼できるので。必要に応じて、QQを追加してください:99515681または電子メール:[email protected]

マイクロ手紙:codehelp

おすすめ

転載: www.cnblogs.com/aaweattta/p/11256607.html