noshot 0.1.7__py3-none-any.whl → 0.1.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- noshot/data/ML TS XAI/ML/1. PCA - EDA/PCA-EDA.ipynb +207 -0
- noshot/data/ML TS XAI/ML/1. PCA - EDA/balance-scale.csv +626 -0
- noshot/data/ML TS XAI/ML/1. PCA - EDA/input.txt +625 -0
- noshot/data/ML TS XAI/ML/2. KNN Classifier/KNN.ipynb +287 -0
- noshot/data/ML TS XAI/ML/2. KNN Classifier/balance-scale.csv +626 -0
- noshot/data/ML TS XAI/ML/2. KNN Classifier/input.txt +625 -0
- noshot/data/ML TS XAI/ML/3. Linear Discriminant Analysis/LDA.ipynb +83 -0
- noshot/data/ML TS XAI/ML/3. Linear Discriminant Analysis/balance-scale.csv +626 -0
- noshot/data/ML TS XAI/ML/3. Linear Discriminant Analysis/input.txt +625 -0
- noshot/data/ML TS XAI/ML/4. Linear Regression/Linear-Regression.ipynb +117 -0
- noshot/data/ML TS XAI/ML/4. Linear Regression/machine-data.csv +210 -0
- noshot/data/ML TS XAI/ML/5. Logistic Regression/Logistic-Regression.ipynb +137 -0
- noshot/data/ML TS XAI/ML/5. Logistic Regression/wine-dataset.csv +179 -0
- noshot/data/ML TS XAI/ML/6. Bayesian Classifier/Bayesian.ipynb +129 -0
- noshot/data/ML TS XAI/ML/6. Bayesian Classifier/wine-dataset.csv +179 -0
- noshot/data/ML TS XAI/TS/1. EDA - Handling Time Series Data/Handling TS Data.ipynb +784 -0
- noshot/data/ML TS XAI/TS/1. EDA - Handling Time Series Data/raw_sales.csv +29581 -0
- noshot/data/ML TS XAI/TS/2. Feature Engineering/Feature Engineering-.ipynb +1445 -0
- noshot/data/ML TS XAI/TS/3. Temporal Relationships/Exploring Temporal Relationships.ipynb +603 -0
- noshot/data/ML TS XAI/TS/4. Up-Down-Sampling and Interploation/Up-Down-Sampling.ipynb +721 -0
- noshot/data/ML TS XAI/TS/4. Up-Down-Sampling and Interploation/shampoo_sales.csv +37 -0
- noshot/data/ML TS XAI/TS/5. Stationarity - Trend - Seasonality/Stationarity-Trend-Seasonality.ipynb +392 -0
- noshot/data/ML TS XAI/TS/5. Stationarity - Trend - Seasonality/daily-min-temperatures.csv +3651 -0
- noshot/data/ML TS XAI/TS/5. Stationarity - Trend - Seasonality/daily-total-female-births.csv +366 -0
- noshot/data/ML TS XAI/TS/6. Autocorrelation - Partial Autocorrelation/ACF-PACF.ipynb +175 -0
- noshot/data/ML TS XAI/TS/6. Autocorrelation - Partial Autocorrelation/daily-min-temperatures.csv +3651 -0
- {noshot-0.1.7.dist-info → noshot-0.1.9.dist-info}/METADATA +2 -2
- noshot-0.1.9.dist-info/RECORD +35 -0
- noshot/data/ML TS XAI/AIDS/1. Implement Basic Search Strategies/(A) Breadth First Search.ipynb +0 -112
- noshot/data/ML TS XAI/AIDS/1. Implement Basic Search Strategies/(B) Depth First Search.ipynb +0 -111
- noshot/data/ML TS XAI/AIDS/1. Implement Basic Search Strategies/(C) Uniform Cost Search.ipynb +0 -134
- noshot/data/ML TS XAI/AIDS/1. Implement Basic Search Strategies/(D) Depth Limites Search.ipynb +0 -115
- noshot/data/ML TS XAI/AIDS/1. Implement Basic Search Strategies/(E) Iterative Deepening DFS.ipynb +0 -123
- noshot/data/ML TS XAI/AIDS/10. ANOVA/2_ANOVA.csv +0 -769
- noshot/data/ML TS XAI/AIDS/10. ANOVA/One Way ANOVA (Repeated Measure).ipynb +0 -126
- noshot/data/ML TS XAI/AIDS/10. ANOVA/One Way ANOVA.ipynb +0 -134
- noshot/data/ML TS XAI/AIDS/10. ANOVA/Sample 1 Way ANOVA Test.ipynb +0 -119
- noshot/data/ML TS XAI/AIDS/10. ANOVA/Two Way ANOVA.ipynb +0 -138
- noshot/data/ML TS XAI/AIDS/10. ANOVA/reaction_time.csv +0 -5
- noshot/data/ML TS XAI/AIDS/10. ANOVA/sample_data.csv +0 -16
- noshot/data/ML TS XAI/AIDS/10. ANOVA/sleep_deprivation.csv +0 -4
- noshot/data/ML TS XAI/AIDS/11. Linear Regression/3_Linear.csv +0 -4802
- noshot/data/ML TS XAI/AIDS/11. Linear Regression/Linear Regression LAB.ipynb +0 -113
- noshot/data/ML TS XAI/AIDS/11. Linear Regression/Linear Regression New- sklearn.ipynb +0 -118
- noshot/data/ML TS XAI/AIDS/11. Linear Regression/Linear Regression.ipynb +0 -148
- noshot/data/ML TS XAI/AIDS/11. Linear Regression/house_rate.csv +0 -22
- noshot/data/ML TS XAI/AIDS/12. Logistic Regression/Logistic Regression New- sklearn.ipynb +0 -128
- noshot/data/ML TS XAI/AIDS/12. Logistic Regression/Logistic Regression.ipynb +0 -145
- noshot/data/ML TS XAI/AIDS/12. Logistic Regression/default.csv +0 -1001
- noshot/data/ML TS XAI/AIDS/12. Logistic Regression/hours_scores_records.csv +0 -101
- noshot/data/ML TS XAI/AIDS/2. Implement A Star And MA Star/(A) Astar.ipynb +0 -256
- noshot/data/ML TS XAI/AIDS/2. Implement A Star And MA Star/(B) IDAstar.ipynb +0 -157
- noshot/data/ML TS XAI/AIDS/2. Implement A Star And MA Star/(C) SMAstar.ipynb +0 -178
- noshot/data/ML TS XAI/AIDS/3. Genetic Algorithm/Genetic.ipynb +0 -95
- noshot/data/ML TS XAI/AIDS/4. Simulated Annealing/Simulated Annealing.ipynb +0 -74
- noshot/data/ML TS XAI/AIDS/4. Simulated Annealing/Sudoku Simulated Annealing.ipynb +0 -103
- noshot/data/ML TS XAI/AIDS/5. Alpha Beta Pruning/AlphaBetaPruning.ipynb +0 -182
- noshot/data/ML TS XAI/AIDS/6. Consraint Satisfaction Problems (CSP)/(A) CSP House Allocation.ipynb +0 -120
- noshot/data/ML TS XAI/AIDS/6. Consraint Satisfaction Problems (CSP)/(B) CSP Map Coloring.ipynb +0 -125
- noshot/data/ML TS XAI/AIDS/7. Random Sampling/Random Sampling.ipynb +0 -73
- noshot/data/ML TS XAI/AIDS/7. Random Sampling/height_weight_bmi.csv +0 -8389
- noshot/data/ML TS XAI/AIDS/8. Z Test/Z Test Hash Function.ipynb +0 -141
- noshot/data/ML TS XAI/AIDS/8. Z Test/Z Test.ipynb +0 -151
- noshot/data/ML TS XAI/AIDS/8. Z Test/height_weight_bmi.csv +0 -8389
- noshot/data/ML TS XAI/AIDS/9. T Test/1_heart.csv +0 -304
- noshot/data/ML TS XAI/AIDS/9. T Test/Independent T Test.ipynb +0 -119
- noshot/data/ML TS XAI/AIDS/9. T Test/Paired T Test.ipynb +0 -118
- noshot/data/ML TS XAI/AIDS/9. T Test/T Test Hash Function.ipynb +0 -142
- noshot/data/ML TS XAI/AIDS/9. T Test/T Test.ipynb +0 -158
- noshot/data/ML TS XAI/AIDS/9. T Test/height_weight_bmi.csv +0 -8389
- noshot/data/ML TS XAI/AIDS/9. T Test/iq_test.csv +0 -0
- noshot/data/ML TS XAI/AIDS/Others (AllinOne)/All In One.ipynb +0 -4581
- noshot/data/ML TS XAI/CN/1. Chat Application/chat.java +0 -81
- noshot/data/ML TS XAI/CN/1. Chat Application/output.png +0 -0
- noshot/data/ML TS XAI/CN/1. Chat Application/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/10. Ethernet LAN IEEE 802.3/LAN.tcl +0 -65
- noshot/data/ML TS XAI/CN/10. Ethernet LAN IEEE 802.3/analysis.awk +0 -44
- noshot/data/ML TS XAI/CN/10. Ethernet LAN IEEE 802.3/output.png +0 -0
- noshot/data/ML TS XAI/CN/10. Ethernet LAN IEEE 802.3/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/11. Wireless LAN IEEE 802.11/complexdcf.tcl +0 -229
- noshot/data/ML TS XAI/CN/11. Wireless LAN IEEE 802.11/output.png +0 -0
- noshot/data/ML TS XAI/CN/11. Wireless LAN IEEE 802.11/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/2. File Transfer/file_to_send.txt +0 -2
- noshot/data/ML TS XAI/CN/2. File Transfer/filetransfer.java +0 -119
- noshot/data/ML TS XAI/CN/2. File Transfer/output.png +0 -0
- noshot/data/ML TS XAI/CN/2. File Transfer/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/Client.class +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/MyServerImpl.class +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/MyServerIntf.class +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/Server.class +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/output.png +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/3. RMI (Remote Method Invocation)/rmi.java +0 -56
- noshot/data/ML TS XAI/CN/4. Wired Network/output.png +0 -0
- noshot/data/ML TS XAI/CN/4. Wired Network/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/4. Wired Network/wired.awk +0 -25
- noshot/data/ML TS XAI/CN/4. Wired Network/wired.tcl +0 -81
- noshot/data/ML TS XAI/CN/5. Wireless Network/output.png +0 -0
- noshot/data/ML TS XAI/CN/5. Wireless Network/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/5. Wireless Network/wireless.awk +0 -27
- noshot/data/ML TS XAI/CN/5. Wireless Network/wireless.tcl +0 -153
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Sack And Vegas/analysis.awk +0 -27
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Sack And Vegas/output.png +0 -0
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Sack And Vegas/sack.tcl +0 -86
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Sack And Vegas/vegas.tcl +0 -86
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Tahoe And Reno/analysis.awk +0 -28
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Tahoe And Reno/output.png +0 -0
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Tahoe And Reno/reno.tcl +0 -78
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Congestion Control/Tahoe And Reno/tahoe.tcl +0 -79
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Flow Control/analysis.awk +0 -27
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Flow Control/flow.tcl +0 -163
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/TCP Flow Control/output.png +0 -0
- noshot/data/ML TS XAI/CN/6. TCP Flow And Congestion Control/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/7. Link State And Distance Vector Routing/DV.tcl +0 -111
- noshot/data/ML TS XAI/CN/7. Link State And Distance Vector Routing/LS.tcl +0 -106
- noshot/data/ML TS XAI/CN/7. Link State And Distance Vector Routing/analysis.awk +0 -36
- noshot/data/ML TS XAI/CN/7. Link State And Distance Vector Routing/output.png +0 -0
- noshot/data/ML TS XAI/CN/7. Link State And Distance Vector Routing/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/8. Multicast And Broadcast Routing/analysis.awk +0 -20
- noshot/data/ML TS XAI/CN/8. Multicast And Broadcast Routing/broadcast.tcl +0 -76
- noshot/data/ML TS XAI/CN/8. Multicast And Broadcast Routing/multicast.tcl +0 -103
- noshot/data/ML TS XAI/CN/8. Multicast And Broadcast Routing/output.png +0 -0
- noshot/data/ML TS XAI/CN/8. Multicast And Broadcast Routing/procedure.png +0 -0
- noshot/data/ML TS XAI/CN/9. DHCP/DHCP.java +0 -125
- noshot/data/ML TS XAI/CN/9. DHCP/output.png +0 -0
- noshot/data/ML TS XAI/CN/9. DHCP/procedure.png +0 -0
- noshot/data/ML TS XAI/NLP/NLP 1/1-Prereqs.py +0 -18
- noshot/data/ML TS XAI/NLP/NLP 1/2-Chi2test.py +0 -83
- noshot/data/ML TS XAI/NLP/NLP 1/2-T-test.py +0 -79
- noshot/data/ML TS XAI/NLP/NLP 1/3-WSD-nb.py +0 -53
- noshot/data/ML TS XAI/NLP/NLP 1/4-Hindle-Rooth.py +0 -53
- noshot/data/ML TS XAI/NLP/NLP 1/5-HMM-Trellis.py +0 -82
- noshot/data/ML TS XAI/NLP/NLP 1/6-HMM-Viterbi.py +0 -16
- noshot/data/ML TS XAI/NLP/NLP 1/7-PCFG-parsetree.py +0 -15
- noshot/data/ML TS XAI/NLP/NLP 1/Chi2test.ipynb +0 -285
- noshot/data/ML TS XAI/NLP/NLP 1/Hindle-Rooth.ipynb +0 -179
- noshot/data/ML TS XAI/NLP/NLP 1/Lab 10 - Text generator using LSTM.ipynb +0 -1461
- noshot/data/ML TS XAI/NLP/NLP 1/Lab 11 NMT.ipynb +0 -2307
- noshot/data/ML TS XAI/NLP/NLP 1/PCFG.ipynb +0 -134
- noshot/data/ML TS XAI/NLP/NLP 1/Prereqs.ipynb +0 -131
- noshot/data/ML TS XAI/NLP/NLP 1/T test.ipynb +0 -252
- noshot/data/ML TS XAI/NLP/NLP 1/TFIDF BOW.ipynb +0 -171
- noshot/data/ML TS XAI/NLP/NLP 1/Trellis.ipynb +0 -244
- noshot/data/ML TS XAI/NLP/NLP 1/WSD.ipynb +0 -645
- noshot/data/ML TS XAI/NLP/NLP 1/Word2Vec.ipynb +0 -93
- noshot/data/ML TS XAI/NLP/NLP 2/Lab01(tokenizer)/tokenizer.ipynb +0 -370
- noshot/data/ML TS XAI/NLP/NLP 2/Lab01(tokenizer)/training_tokenizer.txt +0 -6
- noshot/data/ML TS XAI/NLP/NLP 2/Lab02(stemming)/exp0.ipynb +0 -274
- noshot/data/ML TS XAI/NLP/NLP 2/Lab02(stemming)/lab2.ipynb +0 -905
- noshot/data/ML TS XAI/NLP/NLP 2/Lab02(stemming)/test.txt +0 -1
- noshot/data/ML TS XAI/NLP/NLP 2/Lab02(stemming)/tokenizing.ipynb +0 -272
- noshot/data/ML TS XAI/NLP/NLP 2/Lab03(parse-tree)/collocation.ipynb +0 -332
- noshot/data/ML TS XAI/NLP/NLP 2/Lab03(parse-tree)/lab3.ipynb +0 -549
- noshot/data/ML TS XAI/NLP/NLP 2/Lab03(parse-tree)/nlp.txt +0 -1
- noshot/data/ML TS XAI/NLP/NLP 2/Lab04(collocation)/Lab4-NLP-Exp-2.ipynb +0 -817
- noshot/data/ML TS XAI/NLP/NLP 2/Lab04(collocation)/collocation.ipynb +0 -332
- noshot/data/ML TS XAI/NLP/NLP 2/Lab05(WSD)/NLP-Lab-5-Exp3.ipynb +0 -231
- noshot/data/ML TS XAI/NLP/NLP 2/Lab05(WSD)/word-sense-disambiguation.ipynb +0 -507
- noshot/data/ML TS XAI/NLP/NLP 2/Lab06(additional-exercise)/lab6.ipynb +0 -134
- noshot/data/ML TS XAI/NLP/NLP 2/Lab07(HMM,Viterbi)/NLP Exp 4.ipynb +0 -255
- noshot/data/ML TS XAI/NLP/NLP 2/Lab07(HMM,Viterbi)/NLP_Exp_5.ipynb +0 -159
- noshot/data/ML TS XAI/NLP/NLP 2/Lab08(PCFG)/PCFG.ipynb +0 -282
- noshot/data/ML TS XAI/NLP/NLP 2/Lab09-Hindle-rooth&MLP/Lab 9 - MLP classifier.ipynb +0 -670
- noshot/data/ML TS XAI/NLP/NLP 2/Lab09-Hindle-rooth&MLP/MLP-alternative-code.ipynb +0 -613
- noshot/data/ML TS XAI/NLP/NLP 2/Lab09-Hindle-rooth&MLP/hindle-rooth-algorithm.ipynb +0 -74
- noshot/data/ML TS XAI/NLP/NLP 2/Lab10(LSTM)/Lab_10_Text_generator_using_LSTM.ipynb +0 -480
- noshot/data/ML TS XAI/NLP/NLP 2/Lab11(Viterbi-PCFG,Machine-translation)/Machine-translation.ipynb +0 -445
- noshot/data/ML TS XAI/NLP/NLP 2/Lab11(Viterbi-PCFG,Machine-translation)/Viterbi-PCFG.ipynb +0 -105
- noshot/data/ML TS XAI/NLP/NLP 2/Lab11(Viterbi-PCFG,Machine-translation)/corpora_tools.py +0 -87
- noshot/data/ML TS XAI/NLP/NLP 2/Lab11(Viterbi-PCFG,Machine-translation)/data_utils.py +0 -11
- noshot/data/ML TS XAI/NLP/NLP 2/Lab11(Viterbi-PCFG,Machine-translation)/train_translator.py +0 -83
- noshot/data/ML TS XAI/NLP/NLP 2/Lab12(Information-Extraction)/Information_Extraction.ipynb +0 -201
- noshot/data/ML TS XAI/NLP/NLP 3/Backtrack-without-Verbitri.ipynb +0 -185
- noshot/data/ML TS XAI/NLP/NLP 3/Backward-Procedure.ipynb +0 -597
- noshot/data/ML TS XAI/NLP/NLP 3/Bag_of.ipynb +0 -1422
- noshot/data/ML TS XAI/NLP/NLP 3/CYK-algorithm.ipynb +0 -1067
- noshot/data/ML TS XAI/NLP/NLP 3/Forward-Procedure.ipynb +0 -477
- noshot/data/ML TS XAI/NLP/NLP 3/LSTM.ipynb +0 -1290
- noshot/data/ML TS XAI/NLP/NLP 3/Lab 10 - Text generator using LSTM.ipynb +0 -1461
- noshot/data/ML TS XAI/NLP/NLP 3/Lab 11 NMT.ipynb +0 -2307
- noshot/data/ML TS XAI/NLP/NLP 3/NLP-LAB-4.ipynb +0 -216
- noshot/data/ML TS XAI/NLP/NLP 3/NLP-LAB-5.ipynb +0 -216
- noshot/data/ML TS XAI/NLP/NLP 3/abc.txt +0 -6
- noshot/data/ML TS XAI/NLP/NLP 3/ex-1-nltk.ipynb +0 -711
- noshot/data/ML TS XAI/NLP/NLP 3/ex-2-nlp.ipynb +0 -267
- noshot/data/ML TS XAI/NLP/NLP 3/exp8&9.ipynb +0 -305
- noshot/data/ML TS XAI/NLP/NLP 3/hind.ipynb +0 -287
- noshot/data/ML TS XAI/NLP/NLP 3/lab66.ipynb +0 -752
- noshot/data/ML TS XAI/NLP/NLP 3/leb_3.ipynb +0 -612
- noshot/data/ML TS XAI/NLP/NLP 3/naive_bayes_classifier.pkl +0 -0
- noshot/data/ML TS XAI/NLP/NLP 3/nlp_leb_1.ipynb +0 -3008
- noshot/data/ML TS XAI/NLP/NLP 3/nlp_leb_2.ipynb +0 -3095
- noshot/data/ML TS XAI/NLP/NLP 3/nlplab-9.ipynb +0 -295
- noshot/data/ML TS XAI/NLP/NLP 3/nltk-ex-4.ipynb +0 -506
- noshot/data/ML TS XAI/NLP/NLP 3/text1.txt +0 -48
- noshot/data/ML TS XAI/NLP/NLP 3/text2.txt +0 -8
- noshot/data/ML TS XAI/NLP/NLP 3/text3.txt +0 -48
- noshot/data/ML TS XAI/NLP/NLP 3/translation-rnn.ipynb +0 -812
- noshot/data/ML TS XAI/NLP/NLP 3/word2vector.ipynb +0 -173
- noshot/data/ML TS XAI/NLP/NLP 4/Backward Procedure Algorithm.ipynb +0 -179
- noshot/data/ML TS XAI/NLP/NLP 4/Chi Square Collocation.ipynb +0 -208
- noshot/data/ML TS XAI/NLP/NLP 4/Collocation (T test).ipynb +0 -188
- noshot/data/ML TS XAI/NLP/NLP 4/Experiment 1.ipynb +0 -437
- noshot/data/ML TS XAI/NLP/NLP 4/Forward Procedure Algorithm.ipynb +0 -132
- noshot/data/ML TS XAI/NLP/NLP 4/Hindle Rooth.ipynb +0 -414
- noshot/data/ML TS XAI/NLP/NLP 4/MachineTranslation.ipynb +0 -368
- noshot/data/ML TS XAI/NLP/NLP 4/Multi Layer Perceptron using MLPClassifier.ipynb +0 -86
- noshot/data/ML TS XAI/NLP/NLP 4/Multi Layer Perceptron using Tensorflow.ipynb +0 -112
- noshot/data/ML TS XAI/NLP/NLP 4/PCFG Inside Probability.ipynb +0 -451
- noshot/data/ML TS XAI/NLP/NLP 4/Text Generation using LSTM.ipynb +0 -297
- noshot/data/ML TS XAI/NLP/NLP 4/Viterbi.ipynb +0 -310
- noshot/data/ML TS XAI/NLP/NLP 4/Word Sense Disambiguation.ipynb +0 -335
- noshot/data/ML TS XAI/NLP/NLP 5/10.Text Generation using LSTM.ipynb +0 -316
- noshot/data/ML TS XAI/NLP/NLP 5/11.Machine Translation.ipynb +0 -868
- noshot/data/ML TS XAI/NLP/NLP 5/2.T and Chi2 Test.ipynb +0 -204
- noshot/data/ML TS XAI/NLP/NLP 5/3.Word Sense Diambiguation.ipynb +0 -234
- noshot/data/ML TS XAI/NLP/NLP 5/4.Hinddle and Rooth.ipynb +0 -128
- noshot/data/ML TS XAI/NLP/NLP 5/5.Forward and Backward.ipynb +0 -149
- noshot/data/ML TS XAI/NLP/NLP 5/6.Viterbi.ipynb +0 -111
- noshot/data/ML TS XAI/NLP/NLP 5/7.PCFG Parse Tree.ipynb +0 -134
- noshot/data/ML TS XAI/NLP/NLP 5/7.PCFG using cyk.ipynb +0 -101
- noshot/data/ML TS XAI/NLP/NLP 5/8.Bag of words and TF-IDF.ipynb +0 -310
- noshot/data/ML TS XAI/NLP/NLP 5/9.Word2Vector.ipynb +0 -78
- noshot/data/ML TS XAI/NLP/NLP 5/NLP ALL In One.ipynb +0 -2619
- noshot/data/ML TS XAI/NLP/NLP 5/sample1.txt +0 -15
- noshot/data/ML TS XAI/NLP/NLP 5/sample2.txt +0 -4
- noshot/data/ML TS XAI/NLP/NLP 5/word2vec_model.bin +0 -0
- noshot/data/ML TS XAI/NLP/NLP 6/1. Tokenize, Tagging, NER, Parse Tree.ipynb +0 -312
- noshot/data/ML TS XAI/NLP/NLP 6/2. T Test and Chi2 Test.ipynb +0 -185
- noshot/data/ML TS XAI/NLP/NLP 6/3. Naive Bayes WSD.ipynb +0 -199
- noshot/data/ML TS XAI/NLP/NLP 6/4. Hinddle and Rooth.ipynb +0 -151
- noshot/data/ML TS XAI/NLP/NLP 6/5 and 6 FWD, BWD, Viterbi.ipynb +0 -164
- noshot/data/ML TS XAI/NLP/NLP 6/7. PCFG using CYK.ipynb +0 -383
- noshot/data/ML TS XAI/NLP/NLP 6/8. BOW and TF-IDF.ipynb +0 -252
- noshot/data/ML TS XAI/Ubuntu CN Lab.iso +0 -0
- noshot-0.1.7.dist-info/RECORD +0 -216
- {noshot-0.1.7.dist-info → noshot-0.1.9.dist-info}/LICENSE.txt +0 -0
- {noshot-0.1.7.dist-info → noshot-0.1.9.dist-info}/WHEEL +0 -0
- {noshot-0.1.7.dist-info → noshot-0.1.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,784 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "markdown",
|
5
|
+
"id": "6b192e2a-14e9-4707-b1c1-e8f5aa32a919",
|
6
|
+
"metadata": {},
|
7
|
+
"source": [
|
8
|
+
"### __Import Required Libraries__"
|
9
|
+
]
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"cell_type": "code",
|
13
|
+
"execution_count": 4,
|
14
|
+
"id": "95be04fa-500c-4308-9784-b07bb42d5232",
|
15
|
+
"metadata": {},
|
16
|
+
"outputs": [],
|
17
|
+
"source": [
|
18
|
+
"import pandas as pd\n",
|
19
|
+
"import matplotlib.pyplot as plt"
|
20
|
+
]
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"cell_type": "markdown",
|
24
|
+
"id": "e5ff8a35-769d-4eda-b5f3-d3c9ba7a2dce",
|
25
|
+
"metadata": {},
|
26
|
+
"source": [
|
27
|
+
"##### __1. Importing the dataset__"
|
28
|
+
]
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"cell_type": "code",
|
32
|
+
"execution_count": 5,
|
33
|
+
"id": "69caa184-219d-4b01-8a30-1ea9ba61dcff",
|
34
|
+
"metadata": {},
|
35
|
+
"outputs": [
|
36
|
+
{
|
37
|
+
"name": "stdout",
|
38
|
+
"output_type": "stream",
|
39
|
+
"text": [
|
40
|
+
"(29580, 4)\n"
|
41
|
+
]
|
42
|
+
}
|
43
|
+
],
|
44
|
+
"source": [
|
45
|
+
"df = pd.read_csv('raw_sales.csv', index_col = 'datesold')\n",
|
46
|
+
"print(df.shape)"
|
47
|
+
]
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"cell_type": "markdown",
|
51
|
+
"id": "f8273eed-a0e9-4d52-a183-350a7393a290",
|
52
|
+
"metadata": {},
|
53
|
+
"source": [
|
54
|
+
"##### __2. Display the first few rows to peek at the data, the last few rows__"
|
55
|
+
]
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"cell_type": "code",
|
59
|
+
"execution_count": 3,
|
60
|
+
"id": "490892d7-df7d-4c0f-9f8a-63883ce7432f",
|
61
|
+
"metadata": {},
|
62
|
+
"outputs": [
|
63
|
+
{
|
64
|
+
"data": {
|
65
|
+
"text/html": [
|
66
|
+
"<div>\n",
|
67
|
+
"<style scoped>\n",
|
68
|
+
" .dataframe tbody tr th:only-of-type {\n",
|
69
|
+
" vertical-align: middle;\n",
|
70
|
+
" }\n",
|
71
|
+
"\n",
|
72
|
+
" .dataframe tbody tr th {\n",
|
73
|
+
" vertical-align: top;\n",
|
74
|
+
" }\n",
|
75
|
+
"\n",
|
76
|
+
" .dataframe thead th {\n",
|
77
|
+
" text-align: right;\n",
|
78
|
+
" }\n",
|
79
|
+
"</style>\n",
|
80
|
+
"<table border=\"1\" class=\"dataframe\">\n",
|
81
|
+
" <thead>\n",
|
82
|
+
" <tr style=\"text-align: right;\">\n",
|
83
|
+
" <th></th>\n",
|
84
|
+
" <th>postcode</th>\n",
|
85
|
+
" <th>price</th>\n",
|
86
|
+
" <th>propertyType</th>\n",
|
87
|
+
" <th>bedrooms</th>\n",
|
88
|
+
" </tr>\n",
|
89
|
+
" <tr>\n",
|
90
|
+
" <th>datesold</th>\n",
|
91
|
+
" <th></th>\n",
|
92
|
+
" <th></th>\n",
|
93
|
+
" <th></th>\n",
|
94
|
+
" <th></th>\n",
|
95
|
+
" </tr>\n",
|
96
|
+
" </thead>\n",
|
97
|
+
" <tbody>\n",
|
98
|
+
" <tr>\n",
|
99
|
+
" <th>2007-02-07 00:00:00</th>\n",
|
100
|
+
" <td>2607</td>\n",
|
101
|
+
" <td>525000</td>\n",
|
102
|
+
" <td>house</td>\n",
|
103
|
+
" <td>4</td>\n",
|
104
|
+
" </tr>\n",
|
105
|
+
" <tr>\n",
|
106
|
+
" <th>2007-02-27 00:00:00</th>\n",
|
107
|
+
" <td>2906</td>\n",
|
108
|
+
" <td>290000</td>\n",
|
109
|
+
" <td>house</td>\n",
|
110
|
+
" <td>3</td>\n",
|
111
|
+
" </tr>\n",
|
112
|
+
" <tr>\n",
|
113
|
+
" <th>2007-03-07 00:00:00</th>\n",
|
114
|
+
" <td>2905</td>\n",
|
115
|
+
" <td>328000</td>\n",
|
116
|
+
" <td>house</td>\n",
|
117
|
+
" <td>3</td>\n",
|
118
|
+
" </tr>\n",
|
119
|
+
" <tr>\n",
|
120
|
+
" <th>2007-03-09 00:00:00</th>\n",
|
121
|
+
" <td>2905</td>\n",
|
122
|
+
" <td>380000</td>\n",
|
123
|
+
" <td>house</td>\n",
|
124
|
+
" <td>4</td>\n",
|
125
|
+
" </tr>\n",
|
126
|
+
" <tr>\n",
|
127
|
+
" <th>2007-03-21 00:00:00</th>\n",
|
128
|
+
" <td>2906</td>\n",
|
129
|
+
" <td>310000</td>\n",
|
130
|
+
" <td>house</td>\n",
|
131
|
+
" <td>3</td>\n",
|
132
|
+
" </tr>\n",
|
133
|
+
" </tbody>\n",
|
134
|
+
"</table>\n",
|
135
|
+
"</div>"
|
136
|
+
],
|
137
|
+
"text/plain": [
|
138
|
+
" postcode price propertyType bedrooms\n",
|
139
|
+
"datesold \n",
|
140
|
+
"2007-02-07 00:00:00 2607 525000 house 4\n",
|
141
|
+
"2007-02-27 00:00:00 2906 290000 house 3\n",
|
142
|
+
"2007-03-07 00:00:00 2905 328000 house 3\n",
|
143
|
+
"2007-03-09 00:00:00 2905 380000 house 4\n",
|
144
|
+
"2007-03-21 00:00:00 2906 310000 house 3"
|
145
|
+
]
|
146
|
+
},
|
147
|
+
"execution_count": 3,
|
148
|
+
"metadata": {},
|
149
|
+
"output_type": "execute_result"
|
150
|
+
}
|
151
|
+
],
|
152
|
+
"source": [
|
153
|
+
"df.head()"
|
154
|
+
]
|
155
|
+
},
|
156
|
+
{
|
157
|
+
"cell_type": "markdown",
|
158
|
+
"id": "9c24bbd0-75f0-4eb6-863d-7960337bcb77",
|
159
|
+
"metadata": {},
|
160
|
+
"source": [
|
161
|
+
"##### __3. Print the summary statistics__"
|
162
|
+
]
|
163
|
+
},
|
164
|
+
{
|
165
|
+
"cell_type": "code",
|
166
|
+
"execution_count": 4,
|
167
|
+
"id": "bf0037dd-41b5-4c55-ae5c-8dfa5cb11f90",
|
168
|
+
"metadata": {},
|
169
|
+
"outputs": [
|
170
|
+
{
|
171
|
+
"data": {
|
172
|
+
"text/html": [
|
173
|
+
"<div>\n",
|
174
|
+
"<style scoped>\n",
|
175
|
+
" .dataframe tbody tr th:only-of-type {\n",
|
176
|
+
" vertical-align: middle;\n",
|
177
|
+
" }\n",
|
178
|
+
"\n",
|
179
|
+
" .dataframe tbody tr th {\n",
|
180
|
+
" vertical-align: top;\n",
|
181
|
+
" }\n",
|
182
|
+
"\n",
|
183
|
+
" .dataframe thead th {\n",
|
184
|
+
" text-align: right;\n",
|
185
|
+
" }\n",
|
186
|
+
"</style>\n",
|
187
|
+
"<table border=\"1\" class=\"dataframe\">\n",
|
188
|
+
" <thead>\n",
|
189
|
+
" <tr style=\"text-align: right;\">\n",
|
190
|
+
" <th></th>\n",
|
191
|
+
" <th>count</th>\n",
|
192
|
+
" <th>mean</th>\n",
|
193
|
+
" <th>std</th>\n",
|
194
|
+
" <th>min</th>\n",
|
195
|
+
" <th>25%</th>\n",
|
196
|
+
" <th>50%</th>\n",
|
197
|
+
" <th>75%</th>\n",
|
198
|
+
" <th>max</th>\n",
|
199
|
+
" </tr>\n",
|
200
|
+
" </thead>\n",
|
201
|
+
" <tbody>\n",
|
202
|
+
" <tr>\n",
|
203
|
+
" <th>postcode</th>\n",
|
204
|
+
" <td>29580.0</td>\n",
|
205
|
+
" <td>2730.249730</td>\n",
|
206
|
+
" <td>146.717292</td>\n",
|
207
|
+
" <td>2600.0</td>\n",
|
208
|
+
" <td>2607.0</td>\n",
|
209
|
+
" <td>2615.0</td>\n",
|
210
|
+
" <td>2905.0</td>\n",
|
211
|
+
" <td>2914.0</td>\n",
|
212
|
+
" </tr>\n",
|
213
|
+
" <tr>\n",
|
214
|
+
" <th>price</th>\n",
|
215
|
+
" <td>29580.0</td>\n",
|
216
|
+
" <td>609736.262204</td>\n",
|
217
|
+
" <td>281707.905374</td>\n",
|
218
|
+
" <td>56500.0</td>\n",
|
219
|
+
" <td>440000.0</td>\n",
|
220
|
+
" <td>550000.0</td>\n",
|
221
|
+
" <td>705000.0</td>\n",
|
222
|
+
" <td>8000000.0</td>\n",
|
223
|
+
" </tr>\n",
|
224
|
+
" <tr>\n",
|
225
|
+
" <th>bedrooms</th>\n",
|
226
|
+
" <td>29580.0</td>\n",
|
227
|
+
" <td>3.250169</td>\n",
|
228
|
+
" <td>0.951275</td>\n",
|
229
|
+
" <td>0.0</td>\n",
|
230
|
+
" <td>3.0</td>\n",
|
231
|
+
" <td>3.0</td>\n",
|
232
|
+
" <td>4.0</td>\n",
|
233
|
+
" <td>5.0</td>\n",
|
234
|
+
" </tr>\n",
|
235
|
+
" </tbody>\n",
|
236
|
+
"</table>\n",
|
237
|
+
"</div>"
|
238
|
+
],
|
239
|
+
"text/plain": [
|
240
|
+
" count mean std min 25% 50% \\\n",
|
241
|
+
"postcode 29580.0 2730.249730 146.717292 2600.0 2607.0 2615.0 \n",
|
242
|
+
"price 29580.0 609736.262204 281707.905374 56500.0 440000.0 550000.0 \n",
|
243
|
+
"bedrooms 29580.0 3.250169 0.951275 0.0 3.0 3.0 \n",
|
244
|
+
"\n",
|
245
|
+
" 75% max \n",
|
246
|
+
"postcode 2905.0 2914.0 \n",
|
247
|
+
"price 705000.0 8000000.0 \n",
|
248
|
+
"bedrooms 4.0 5.0 "
|
249
|
+
]
|
250
|
+
},
|
251
|
+
"execution_count": 4,
|
252
|
+
"metadata": {},
|
253
|
+
"output_type": "execute_result"
|
254
|
+
}
|
255
|
+
],
|
256
|
+
"source": [
|
257
|
+
"df.describe().T"
|
258
|
+
]
|
259
|
+
},
|
260
|
+
{
|
261
|
+
"cell_type": "markdown",
|
262
|
+
"id": "fb7299b8-90fe-4dae-93a1-496129bc928a",
|
263
|
+
"metadata": {},
|
264
|
+
"source": [
|
265
|
+
"##### __4. Filter data for a specific year__"
|
266
|
+
]
|
267
|
+
},
|
268
|
+
{
|
269
|
+
"cell_type": "code",
|
270
|
+
"execution_count": 6,
|
271
|
+
"id": "6a533c7b-6786-4789-9a18-0f19125de32d",
|
272
|
+
"metadata": {},
|
273
|
+
"outputs": [
|
274
|
+
{
|
275
|
+
"data": {
|
276
|
+
"text/plain": [
|
277
|
+
"522377.2108843537"
|
278
|
+
]
|
279
|
+
},
|
280
|
+
"execution_count": 6,
|
281
|
+
"metadata": {},
|
282
|
+
"output_type": "execute_result"
|
283
|
+
}
|
284
|
+
],
|
285
|
+
"source": [
|
286
|
+
"df.index = pd.to_datetime(df.index)\n",
|
287
|
+
"df['price'][df.index.year == 2007].mean()"
|
288
|
+
]
|
289
|
+
},
|
290
|
+
{
|
291
|
+
"cell_type": "markdown",
|
292
|
+
"id": "111029b6-fcc9-4f5e-a9d8-833ae27c039e",
|
293
|
+
"metadata": {},
|
294
|
+
"source": [
|
295
|
+
"##### __5. Plot the average price per year__"
|
296
|
+
]
|
297
|
+
},
|
298
|
+
{
|
299
|
+
"cell_type": "code",
|
300
|
+
"execution_count": 6,
|
301
|
+
"id": "71212203-c3e5-49ca-aa07-bbc12a2e0de6",
|
302
|
+
"metadata": {},
|
303
|
+
"outputs": [
|
304
|
+
{
|
305
|
+
"data": {
|
306
|
+
"text/plain": [
|
307
|
+
"datesold\n",
|
308
|
+
"2007 522377.210884\n",
|
309
|
+
"2008 493814.162754\n",
|
310
|
+
"2009 496092.032959\n",
|
311
|
+
"2010 559564.810289\n",
|
312
|
+
"2011 566715.110227\n",
|
313
|
+
"2012 552501.369214\n",
|
314
|
+
"2013 553416.296838\n",
|
315
|
+
"2014 592653.761439\n",
|
316
|
+
"2015 626101.342654\n",
|
317
|
+
"2016 635185.311668\n",
|
318
|
+
"2017 671880.551420\n",
|
319
|
+
"2018 660701.042768\n",
|
320
|
+
"2019 634184.218773\n",
|
321
|
+
"Name: price, dtype: float64"
|
322
|
+
]
|
323
|
+
},
|
324
|
+
"execution_count": 6,
|
325
|
+
"metadata": {},
|
326
|
+
"output_type": "execute_result"
|
327
|
+
}
|
328
|
+
],
|
329
|
+
"source": [
|
330
|
+
"df['price'].groupby(df.index.year).mean()"
|
331
|
+
]
|
332
|
+
},
|
333
|
+
{
|
334
|
+
"cell_type": "markdown",
|
335
|
+
"id": "0405f26e-b564-48a2-9fb5-6d89311a363e",
|
336
|
+
"metadata": {},
|
337
|
+
"source": [
|
338
|
+
"##### __6. Count of properties sold per year__"
|
339
|
+
]
|
340
|
+
},
|
341
|
+
{
|
342
|
+
"cell_type": "code",
|
343
|
+
"execution_count": 7,
|
344
|
+
"id": "7e1cb0fb-f494-49b1-adbc-89824b7e3855",
|
345
|
+
"metadata": {},
|
346
|
+
"outputs": [
|
347
|
+
{
|
348
|
+
"data": {
|
349
|
+
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkEAAAGxCAYAAABlfmIpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+FklEQVR4nO3deXxOd/7//+dFFlkvCZJLSFVRy1g6pUOYWkqtKR2UT/mkYaxV2w3flpqpdBPtdDHDULQNY+0ypbSaCsVUJbZKrdXNTjBEYk1C3r8/+sv59JIEIRvncb/dzu02Oed1nfN+v11zrmfPOe/rchhjjAAAAGymTEk3AAAAoCQQggAAgC0RggAAgC0RggAAgC0RggAAgC0RggAAgC0RggAAgC0RggAAgC0RggAAgC0RgoB8zJ07Vw6Hw1o8PDxUtWpV9e/fX0ePHi3p5t2yY8eOKSYmRsnJybe8j379+ql169aF0p7Tp09rwoQJqlevnvz8/OR0OlWnTh1FRUVpx44dBd7funXr5HA4tG7duhvW9uvXT/fee2++2/fv36+AgAD16NEjz+2LFi2Sw+HQrFmzCtzOwrJ161Y5HA699tprubZ169Yt3/a1bdtWFSpUkDFGBw4ckMPh0Ny5c4uhxUDpQQgCbiAuLk6JiYlKSEjQoEGDtHjxYj388MO6cOFCSTftlhw7dkwvvvjibYWgwnL+/Hk1a9ZMc+fO1cCBA7V8+XItXLhQgwcP1v79+0u8jdWrV9dbb72lTz75RIsWLXLblpKSohEjRqhDhw4aMmRICbVQevDBB+V0OrV27Vq39dnZ2fr666/l5+eXa1tmZqYSExPVunVrORwOVa5cWYmJierSpUtxNh0ocR4l3QCgtKtfv76aNGkiSWrTpo2uXr2ql19+WcuWLVPfvn3zfM3Fixfl6+tbnM28oatXr+rKlSsl3Qw3H330kX766Sd99dVXatOmjdu2MWPGKDs7u4Ra9n8GDRqkpUuXasSIEWrTpo0qV64sSRoyZIiMMXrvvfeKpR35vafKlCmjli1bau3atbpy5Yo8PH49rX/33XdKTU3VuHHjNH/+fLfXbNq0SZcuXbLG3NvbW82aNSv6TgClDFeCgALK+bA4ePCgpF9vqfj7+2vnzp1q3769AgIC1LZtW0nSmTNnNGzYMFWpUkVeXl667777NHHiRGVkZLjt0+FwaPjw4Zo1a5buv/9+eXt7q169elqyZEmu46ekpGjIkCGqWrWqvLy8VL16db344otuASfn9sbrr7+uV155RdWrV5e3t7fWrl2rhx56SJLUv39/61ZfTEyM5s+fL4fDocTExFzHfOmll+Tp6aljx47lOy4zZ85Uo0aN5O/vr4CAANWpU0fPP//8dcfy9OnTkmQFi2uVKeN+itqwYYPatm2rgIAA+fr6qnnz5vr888+ve4wcc+fOVe3ateXt7a26devqX//61029TpIVdAYPHixJmj9/vpYvX67p06erSpUqMsZoxowZeuCBB+Tj46OgoCD17NlTv/zyi9t+EhIS1K1bN1WtWlXlypVTzZo1NWTIEP33v/91q4uJiZHD4dC3336rnj17KigoSDVq1Mi3fW3atNH58+e1detWa926desUFhamgQMH6sSJE9qzZ4/btpzXScrzdtipU6c0ePBghYeHy9vbW5UqVVKLFi20evVqt2OvXr1abdu2VWBgoHx9fdWiRQutWbPmJkcWKGEGQJ7i4uKMJLNlyxa39X//+9+NJDN79mxjjDHR0dHG09PT3HvvvSY2NtasWbPGfPnll+bSpUumYcOGxs/Pz7zxxhtm1apV5q9//avx8PAwnTt3dtunJBMeHm7q1atnFi9ebJYvX246duxoJJmPPvrIqjt+/LgJDw831apVM7NmzTKrV682L7/8svH29jb9+vWz6vbv328kmSpVqpg2bdqYjz/+2Kxatcp89913Vr/+8pe/mMTERJOYmGgOHz5sMjIyjMvlMn379nVrW1ZWlgkLCzNPPPFEvmO1ePFiI8mMGDHCrFq1yqxevdq88847ZuTIkdcd4w0bNhhJ5qGHHjJLly41//3vf/OtXbdunfH09DSNGzc2H3zwgVm2bJlp3769cTgcZsmSJVbd2rVrjSSzdu1aa11On7t162ZWrFhhFixYYGrWrGmN5c3I6ePkyZNNUFCQ6dGjh7Vt0KBBxtPT04wdO9bEx8ebRYsWmTp16pjQ0FCTkpJi1c2cOdPExsaa5cuXm/Xr15t58+aZRo0amdq1a5vMzEyrbtKkSUaSqVatmnnuuedMQkKCWbZsWb5t2759u9W2HI899ph58sknjTHGuFwu889//tPa1qZNG1OpUiWTnZ1tjPm/90tcXJxV06FDB1OpUiUze/Zss27dOrNs2TLzwgsvuI31/PnzjcPhMI8//rj55JNPzIoVK0xkZKQpW7asWb169U2NK1CSCEFAPnI+OJOSkkxWVpY5d+6c+eyzz0ylSpVMQECA9eEWHR1tJJn333/f7fXvvPOOkWQ+/PBDt/WvvfaakWRWrVplrZNkfHx83D4wr1y5YurUqWNq1qxprRsyZIjx9/c3Bw8edNvnG2+8YSSZ3bt3G2P+70OtRo0abh+uxhizZcuWXB94OSZNmmS8vLzMiRMnrHUffPCBkWTWr1+f71gNHz7clC9fPt/t1/PSSy8ZLy8vI8lIMtWrVzdDhw413333nVtds2bNTEhIiDl37py17sqVK6Z+/fqmatWq1gf6tSHo6tWrJiwszDz44INWjTHGHDhwwHh6et50CDLGmF69ehlJJjQ01Jw6dcoYY0xiYqKRZN5880232sOHDxsfHx/z7LPP5rmv7Oxsk5WVZQ4ePGgkmU8//dTalhOCXnjhhZtqV3Z2tgkODjbt27e3+ly+fHnzzjvvWO3u2bOnMcaYjIwM4+PjY3r16mW9Pq8Q5O/vb0aPHp3vMS9cuGCCg4PNY4895rb+6tWrplGjRuYPf/jDTbUdKEncDgNuoFmzZvL09FRAQIAiIyPlcrn0xRdfKDQ01K3u2hlEX331lfz8/NSzZ0+39f369ZOkXLcM2rZt67bPsmXLqnfv3vrpp5905MgRSdJnn32mNm3aKCwsTFeuXLGWTp06SZLWr1/vts+uXbvK09Pzpvv69NNPS5LmzJljrZs+fboaNGigli1b5vu6P/zhDzp79qyefPJJffrpp7lu71zPX//6Vx06dEjvv/++hgwZIn9/f73zzjtq3LixFi9eLEm6cOGCNm3apJ49e8rf3996bdmyZRUVFaUjR45o3759ee5/3759OnbsmPr06SOHw2Gtr1atmpo3b37T7ZR+vS0oSSNHjlTFihUl/fpv4nA49L//+79u/yYul0uNGjVym6V28uRJDR06VOHh4fLw8JCnp6eqVasmSdq7d2+u4+U3K+1aDodDrVq10jfffKOsrCwlJyfr7Nmz1gy+Vq1aad26dTLGKCkpye15oPz84Q9/0Ny5c/XKK68oKSlJWVlZbts3btyoM2fOKDo62q3f2dnZ6tixo7Zs2XLHTh6AfRCCgBv417/+pS1btmj79u06duyYduzYoRYtWrjV+Pr6KjAw0G3d6dOn5XK53D54JSkkJEQeHh7W8zA5XC5XrmPnrMupPXHihFasWCFPT0+35Xe/+50k5Qof+T1rk5/Q0FD17t1bs2bN0tWrV7Vjxw59/fXXGj58+HVfFxUVpffff18HDx5Ujx49FBISoqZNmyohIeGmj9u/f3+988472rFjh9avXy8vLy+NGjVKkpSamipjTJ79CQsLk6Rc45kjZ/31xvdmeXt7S5K8vLysdSdOnJAxRqGhobn+XZKSkqx/k+zsbLVv316ffPKJnn32Wa1Zs0abN29WUlKSJOnSpUu5jleQf782bdrowoUL2rJli9auXavQ0FDVrl1b0q8h6L///a92795tzRS7UQj64IMPFB0drXfffVcREREKDg7WU089pZSUFKvfktSzZ89c/X7ttddkjNGZM2duuv1ASWB2GHADdevWtWaH5efaoCNJFSpU0KZNm2SMcdt+8uRJXblyxbqSkCPnwyWvdRUqVJAkVaxYUQ0bNtSrr76aZztyAsH12nUjo0aN0vz58/Xpp58qPj5e5cuXz3cW3G/1799f/fv314ULF/Sf//xHkyZNUmRkpH744QfrasfNatmypdq3b69ly5bp5MmTCgoKUpkyZXT8+PFctTkPa187njlyxu5643s7KlasKIfDoa+//toKSb+Vs27Xrl367rvvNHfuXEVHR1vbf/rpp3z3XZB/v5xQs27dOiUmJqpVq1bWtnr16qlixYpau3at1q1bp8qVK1sB6Xr9mjp1qqZOnapDhw5p+fLlGj9+vE6ePKn4+HhrvKdNm5bvzLJrr5YCpQ0hCCgibdu21Ycffqhly5bpT3/6k7U+Z1ZSzgyyHGvWrNGJEyesD46rV6/qgw8+UI0aNVS1alVJUmRkpFauXKkaNWooKCjoltqV86Gc15UHSWrcuLGaN2+u1157Tbt27dLgwYPl5+d30/v38/NTp06dlJmZqccff1y7d+/ONwSdOHFClSpVyjUL7OrVq/rxxx/l6+ur8uXLy8vLS02bNtUnn3yiN954Qz4+PpJ+vbqyYMECVa1aVffff3+ex6hdu7YqV66sxYsXa8yYMVawOHjwoDZu3JgrOBZUZGSkpkyZoqNHj6pXr1751uUc99qgVFhftPi73/1OlSpV0ldffaWtW7cqNjbW7dgtW7ZUfHy8kpKS1L179wLt+5577tHw4cO1Zs0affPNN5KkFi1aqHz58tqzZ88NrxQCpRUhCCgiTz31lP75z38qOjpaBw4cUIMGDbRhwwZNnjxZnTt3Vrt27dzqK1asqEceeUR//etf5efnpxkzZuj77793myb/0ksvKSEhQc2bN9fIkSNVu3ZtXb58WQcOHNDKlSv1zjvvWIEpPzVq1JCPj48WLlyounXryt/fX2FhYW5hYNSoUerdu7ccDoeGDRt2w74OGjRIPj4+atGihSpXrqyUlBTFxsbK6XRaU/LzMn/+fM2aNUt9+vTRQw89JKfTqSNHjujdd9/V7t279cILL1i3nmJjY/Xoo4+qTZs2GjdunLy8vDRjxgzt2rVLixcvzveqSZkyZfTyyy9r4MCB+tOf/qRBgwbp7NmziomJKfDtsLy0aNFCgwcPVv/+/bV161a1bNlSfn5+On78uDZs2KAGDRro6aefVp06dVSjRg2NHz9exhgFBwdrxYoVN33L8EYcDodat26tjz/+WMYYtytB0q+3xEaPHi1jzA1vhaWlpalNmzbq06eP6tSpo4CAAG3ZskXx8fFWgPL399e0adMUHR2tM2fOqGfPngoJCdGpU6f03Xff6dSpU5o5c2ah9A0oMiX3TDZQuuU3Rf5a0dHRxs/PL89tp0+fNkOHDjWVK1c2Hh4eplq1ambChAnm8uXLbnWSzDPPPGNmzJhhatSoYTw9PU2dOnXMwoULc+3z1KlTZuTIkaZ69erG09PTBAcHm8aNG5uJEyea8+fPG2P+b7bP3/72tzzbtXjxYlOnTh3j6elpJJlJkya5bc/IyDDe3t6mY8eO1+17jnnz5pk2bdqY0NBQ4+XlZcLCwkyvXr3Mjh07rvu6PXv2mLFjx5omTZqYSpUqGQ8PDxMUFGRatWpl5s+fn6v+66+/No888ojx8/MzPj4+plmzZmbFihVuNXlNkTfGmHfffdfUqlXLeHl5mfvvv9+8//77Jjo6ukCzw643ru+//75p2rSp1bYaNWqYp556ymzdutWtv48++qgJCAgwQUFB5oknnjCHDh3K9W+QMzssZwbazZoxY4aRZCpVqpRrW3JysjUD78cff8yzXzmzwy5fvmyGDh1qGjZsaAIDA42Pj4+pXbu2mTRpkrlw4YLba9evX2+6dOligoODjaenp6lSpYrp0qWL21c7AKWVwxhjSiZ+AcjhcDj0zDPPaPr06SXdFEnSihUr1LVrV33++efq3LlzSTcHAIoEt8MAWPbs2aODBw9q7NixeuCBB6yp9wBwN2KKPADLsGHD1LVrVwUFBV33ORsAuBtwOwwAANgSV4IAAIAtEYIAAIAtEYIAAIAt3bWzw7Kzs3Xs2DEFBATwcCcAAHcIY4zOnTunsLCwXN8mX9ju2hB07NgxhYeHl3QzAADALTh8+PANvwH/dt21ISggIEDSr4N47a97AwCA0ik9PV3h4eHW53hRumtDUM4tsMDAQEIQAAB3mOJ4lIUHowEAgC0RggAAgC0RggAAgC3dtc8E3QxjjK5cuaKrV6+WdFNgY2XLlpWHhwdf5QAAxcy2ISgzM1PHjx/XxYsXS7opgHx9fVW5cmV5eXmVdFMAwDZsGYKys7O1f/9+lS1bVmFhYfLy8uK/wlEijDHKzMzUqVOntH//ftWqVavIvxwMAPArW4agzMxMZWdnKzw8XL6+viXdHNicj4+PPD09dfDgQWVmZqpcuXIl3SQAsAVb/ycn/8WN0oL3IgAUP868AADAlghBAADAlmz5TND13Dv+82I93oEpXYr1ePjV3LlzNXr0aJ09ezbfmpiYGC1btkzJycnF1i4AQPHhStAdpl+/fnI4HHI4HPL09NR9992ncePG6cKFCyXdtDzNnTtX5cuXL9R9XrhwQc8995zuu+8+lStXTpUqVVLr1q312WefFepx8hMTE6N27drJ5XJp8uTJubb36tVLDz30kK5cuVIs7QEA3BquBN2BOnbsqLi4OGVlZenrr7/WwIEDdeHCBc2cOdOtLisrS56eniXUyl+PXxSGDh2qzZs3a/r06apXr55Onz6tjRs36vTp00VyvGstX75c/+///T/5+fnpiSee0GOPPaYGDRpIkj7++GOtWLFC3377rTw8cv/fKzMzk+8CAoBSgitBdyBvb2+5XC6Fh4erT58+6tu3r5YtW6aYmBg98MADev/993XffffJ29tbxhgdOnRI3bp1k7+/vwIDA9WrVy+dOHHC2l/O62bNmmV9bcATTzyR61ZRXFyc6tatq3LlyqlOnTqaMWOGte3AgQNyOBz68MMP1bp1a5UrV04LFixQ//79lZaWZl29iomJ0UsvvWSFht9q3LixXnjhhRv2f8WKFXr++efVuXNn3XvvvWrcuLFGjBih6OhoqyY1NVVPPfWUgoKC5Ovrq06dOunHH3+87n6nTJmi0NBQBQQEaMCAAbp8+XKumsOHD2vXrl3q1KmTunbtqj59+uipp55SVlaWTp06pWHDhik2NlZ169aV9OuVu8cff1yxsbEKCwvT/ffff8P+AQCKB1eC7gI+Pj7WVZeffvpJH374of7973+rbNmykqTHH39cfn5+Wr9+va5cuaJhw4apd+/eWrdunbWPnNetWLFC6enpGjBggJ555hktXLhQkjRnzhxNmjRJ06dP1+9//3tt375dgwYNkp+fn1v4eO655/Tmm28qLi5OZcuW1dSpU/XCCy9o3759kiR/f3+dPXtWL774orZs2aKHHnpIkrRjxw5t375dH3300Q3763K5tHLlSnXv3l0BAQF51vTr108//vijli9frsDAQD333HPq3Lmz9uzZk+fVsQ8//FCTJk3SP//5Tz388MOaP3++/vGPf+i+++5zq1u+fLlatmxp3eL7+9//rgYNGujll1/W3r17Vb9+fY0aNcrtNWvWrFFgYKASEhJkjLlh/wBcH89uorAQgu5wmzdv1qJFi9S2bVtJv95umT9/vipVqiRJSkhI0I4dO7R//36Fh4dLkubPn6/f/e53biHk8uXLmjdvnqpWrSpJmjZtmrp06aI333xTLpdLL7/8st588011795dklS9enXt2bNHs2bNcgtBo0ePtmokyel0yuFwyOVyWev8/f3VoUMHxcXFWcePi4tTq1atcoWOvMyePVt9+/ZVhQoV1KhRI/3xj39Uz5491aJFC0myws8333yj5s2bS5IWLlyo8PBwLVu2TE888USufU6dOlV//vOfNXDgQEnSK6+8otWrV+e6GvTpp5+qW7du1t+BgYGKi4tT+/bt5efnpx07duT69nE/Pz+9++673AYDgFKG22F3oM8++0z+/v4qV66cIiIi1LJlS02bNk2SVK1aNSsASdLevXsVHh5uBSBJqlevnsqXL6+9e/da6+655x4rAElSRESEsrOztW/fPp06dUqHDx/WgAED5O/vby2vvPKKfv75Z7e2NWnS5Kb6MGjQIC1evFiXL19WVlaWFi5cqD//+c839dqWLVvql19+0Zo1a9SjRw/t3r1bDz/8sF5++WWrzx4eHmratKn1mgoVKqh27dpuff6tvXv3KiIiwm3dtX+np6dr/fr16tq1q9v6Rx55RM2aNVNUVJSqVauWa98NGjQgAAFAKcSVoDtQmzZtNHPmTHl6eiosLMzt9o6fn59brTEmz99Fy299jpxtDodD2dnZkn69JfbbYCHJuuWW3/Hz89hjj8nb21tLly6Vt7e3MjIy1KNHj5t6rSR5enrq4Ycf1sMPP6zx48frlVde0UsvvaTnnnsu31tON+rzjXzxxReqW7dunkHHw8MjzwehpZsfEwBA8SIE3YH8/PxUs2bNm6qtV6+eDh06pMOHD1tXg/bs2aO0tDTr4V1JOnTokI4dO6awsDBJUmJiosqUKaP7779foaGhqlKlin755Rf17du3QG318vLS1atXc6338PBQdHS04uLi5O3trf/5n/+5rd9xq1evnq5cuaLLly9b/3vTpk3W7bDTp0/rhx9+cOvzb9WtW1dJSUl66qmnrHVJSUluNZ9++mmuq0AAgDsXIegu165dOzVs2FB9+/bV1KlTrQejW7Vq5Xbrqly5coqOjtYbb7yh9PR0jRw5Ur169bKe5YmJidHIkSMVGBioTp06KSMjQ1u3blVqaqrGjBmT7/HvvfdenT9/XmvWrFGjRo3k6+trhZ2BAwdaoeSbb7656T61bt1aTz75pJo0aaIKFSpoz549ev7559WmTRsFBgYqMDBQ3bp106BBgzRr1iwFBARo/PjxqlKlitvzPL81atQoRUdHq0mTJvrjH/+ohQsXavfu3dYzSleuXNEXX3yh1atX33Q7AQClGyHoGnfbLACHw6Fly5ZpxIgRatmypcqUKaOOHTtazxDlqFmzprp3767OnTvrzJkz6ty5s9sU+IEDB8rX11d/+9vf9Oyzz8rPz08NGjTQ6NGjr3v85s2ba+jQoerdu7dOnz6tSZMmKSYmRpJUq1YtNW/eXKdPn851m+16OnTooHnz5un555/XxYsXFRYWpsjISLfp9XFxcRo1apQiIyOVmZmpli1bauXKlfl+b1Lv3r31888/67nnntPly5fVo0cPPf300/ryyy8lSevXr5e/v78aN2580+0EAJRuDnOXztlNT0+X0+lUWlqaAgMD3bZdvnxZ+/fvV/Xq1VWuXLkSamHpUVI/D2GMUZ06dTRkyJDrXk0qDUaOHKkrV664BcPCxHsSuHlMkb+7Xe/zu7BxJQgl4uTJk5o/f76OHj2q/v37l3Rzbqh+/fq5ZosBAO5shCCUiNDQUFWsWFGzZ89WUFCQ2zZ/f/98X/fFF1/o4YcfLurm5TJ48OBiPyYAoGgRgqCYmBjrOZ3icr27sNe7LVelSpUiaA0AwI4IQSh1bnb6PwAAt8PW3xh9lz4TjjsQ70UAKH62DEE506QvXrxYwi0BfpXzXsxvCj8AoPDZ8nZY2bJlVb58eZ08eVKS5Ovre1s/pwDcKmOMLl68qJMnT6p8+fK5foYEAFB0bBmCJFnfhJwThICSVL58ees9CQAoHrYNQQ6HQ5UrV1ZISIiysrJKujmwMU9PT64AAUAJsG0IylG2bFk+gAAAsCFbPhgNAABACAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZ0WyEoNjZWDodDo0ePttYZYxQTE6OwsDD5+PiodevW2r17t9vrMjIyNGLECFWsWFF+fn7q2rWrjhw54laTmpqqqKgoOZ1OOZ1ORUVF6ezZs7fTXAAAAMsth6AtW7Zo9uzZatiwodv6119/XW+99ZamT5+uLVu2yOVy6dFHH9W5c+esmtGjR2vp0qVasmSJNmzYoPPnzysyMlJXr161avr06aPk5GTFx8crPj5eycnJioqKutXmAgAAuLmlEHT+/Hn17dtXc+bMUVBQkLXeGKOpU6dq4sSJ6t69u+rXr6958+bp4sWLWrRokSQpLS1N7733nt588021a9dOv//977VgwQLt3LlTq1evliTt3btX8fHxevfddxUREaGIiAjNmTNHn332mfbt21cI3QYAAHZ3SyHomWeeUZcuXdSuXTu39fv371dKSorat29vrfP29larVq20ceNGSdK2bduUlZXlVhMWFqb69etbNYmJiXI6nWratKlV06xZMzmdTqvmWhkZGUpPT3dbAAAA8uNR0BcsWbJE3377rbZs2ZJrW0pKiiQpNDTUbX1oaKgOHjxo1Xh5ebldQcqpyXl9SkqKQkJCcu0/JCTEqrlWbGysXnzxxYJ2BwAA2FSBrgQdPnxYo0aN0oIFC1SuXLl86xwOh9vfxphc6651bU1e9dfbz4QJE5SWlmYthw8fvu7xAACAvRUoBG3btk0nT55U48aN5eHhIQ8PD61fv17/+Mc/5OHhYV0BuvZqzcmTJ61tLpdLmZmZSk1NvW7NiRMn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4z8v9mMemNKl2I8J4FdcCQIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALbkUdINAGBv947/vFiPd2BKl2I9HoDSiytBAADAlghBAADAlghBAADAlghBAADAlgoUgmJjY/XQQw8pICBAISEhevzxx7Vv3z63GmOMYmJiFBYWJh8fH7Vu3Vq7d+92q8nIyNCIESNUsWJF+fn5qWvXrjpy5IhbTWpqqqKiouR0OuV0OhUVFaWzZ8/eWi8BAACuUaAQtH79ej3zzDNKSkpSQkKCrly5ovbt2+vChQtWzeuvv6633npL06dP15YtW+RyufToo4/q3LlzVs3o0aO1dOlSLVmyRBs2bND58+cVGRmpq1evWjV9+vRRcnKy4uPjFR8fr+TkZEVFRRVClwEAAAo4RT4+Pt7t77i4OIWEhGjbtm1q2bKljDGaOnWqJk6cqO7du0uS5s2bp9DQUC1atEhDhgxRWlqa3nvvPc2fP1/t2rWTJC1YsEDh4eFavXq1OnTooL179yo+Pl5JSUlq2rSpJGnOnDmKiIjQvn37VLt27cLoOwAAsLHbeiYoLS1NkhQcHCxJ2r9/v1JSUtS+fXurxtvbW61atdLGjRslSdu2bVNWVpZbTVhYmOrXr2/VJCYmyul0WgFIkpo1ayan02nVXCsjI0Pp6eluCwAAQH5uOQQZYzRmzBj98Y9/VP369SVJKSkpkqTQ0FC32tDQUGtbSkqKvLy8FBQUdN2akJCQXMcMCQmxaq4VGxtrPT/kdDoVHh5+q10DAAA2cMshaPjw4dqxY4cWL16ca5vD4XD72xiTa921rq3Jq/56+5kwYYLS0tKs5fDhwzfTDQAAYFO3FIJGjBih5cuXa+3atapataq13uVySVKuqzUnT560rg65XC5lZmYqNTX1ujUnTpzIddxTp07lusqUw9vbW4GBgW4LAABAfgoUgowxGj58uD755BN99dVXql69utv26tWry+VyKSEhwVqXmZmp9evXq3nz5pKkxo0by9PT063m+PHj2rVrl1UTERGhtLQ0bd682arZtGmT0tLSrBoAAIDbUaDZYc8884wWLVqkTz/9VAEBAdYVH6fTKR8fHzkcDo0ePVqTJ09WrVq1VKtWLU2ePFm+vr7q06ePVTtgwACNHTtWFSpUUHBwsMaNG6cGDRpYs8Xq1q2rjh07atCgQZo1a5YkafDgwYqMjGRmGAAAKBQFCkEzZ86UJLVu3dptfVxcnPr16ydJevbZZ3Xp0iUNGzZMqampatq0qVatWqWAgACr/u2335aHh4d69eqlS5cuqW3btpo7d67Kli1r1SxcuFAjR460ZpF17dpV06dPv5U+AgAA5FKgEGSMuWGNw+FQTEyMYmJi8q0pV66cpk2bpmnTpuVbExwcrAULFhSkeQAAADeN3w4DAAC2RAgCAAC2RAgCAAC2RAgCAAC2VKAHowHcHe4d/3mxHu/AlC7FejwAuBlcCQIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALZECAIAALbkUdINAOzi3vGfF+vxDkzpUqzHA4A7DVeCAACALRGCAACALRGCAACALRGCAACALRGCAACALTE7DHet4p6NJTEjCwDuJFwJAgAAtkQIAgAAtkQIAgAAtkQIAgAAtkQIAgAAtkQIAgAAtkQIAgAAtkQIAgAAtkQIAgAAtsQ3RqNQFfe3NPMNzQCAW8WVIAAAYEuEIAAAYEvcDgMA4C7Aj0YXHFeCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRGCAACALRU4BP3nP//RY489prCwMDkcDi1btsxtuzFGMTExCgsLk4+Pj1q3bq3du3e71WRkZGjEiBGqWLGi/Pz81LVrVx05csStJjU1VVFRUXI6nXI6nYqKitLZs2cL3EEAAIC8FDgEXbhwQY0aNdL06dPz3P7666/rrbfe0vTp07Vlyxa5XC49+uijOnfunFUzevRoLV26VEuWLNGGDRt0/vx5RUZG6urVq1ZNnz59lJycrPj4eMXHxys5OVlRUVG30EUAAIDcPAr6gk6dOqlTp055bjPGaOrUqZo4caK6d+8uSZo3b55CQ0O1aNEiDRkyRGlpaXrvvfc0f/58tWvXTpK0YMEChYeHa/Xq1erQoYP27t2r+Ph4JSUlqWnTppKkOXPmKCIiQvv27VPt2rVvtb8AAACSCvmZoP379yslJUXt27e31nl7e6tVq1bauHGjJGnbtm3KyspyqwkLC1P9+vWtmsTERDmdTisASVKzZs3kdDqtmmtlZGQoPT3dbQEAAMhPoYaglJQUSVJoaKjb+tDQUGtbSkqKvLy8FBQUdN2akJCQXPsPCQmxaq4VGxtrPT/kdDoVHh5+2/0BAAB3ryKZHeZwONz+NsbkWneta2vyqr/efiZMmKC0tDRrOXz48C20HAAA2EWhhiCXyyVJua7WnDx50ro65HK5lJmZqdTU1OvWnDhxItf+T506lesqUw5vb28FBga6LQAAAPkp1BBUvXp1uVwuJSQkWOsyMzO1fv16NW/eXJLUuHFjeXp6utUcP35cu3btsmoiIiKUlpamzZs3WzWbNm1SWlqaVQMAAHA7Cjw77Pz58/rpp5+sv/fv36/k5GQFBwfrnnvu0ejRozV58mTVqlVLtWrV0uTJk+Xr66s+ffpIkpxOpwYMGKCxY8eqQoUKCg4O1rhx49SgQQNrtljdunXVsWNHDRo0SLNmzZIkDR48WJGRkcwMAwAAhaLAIWjr1q1q06aN9feYMWMkSdHR0Zo7d66effZZXbp0ScOGDVNqaqqaNm2qVatWKSAgwHrN22+/LQ8PD/Xq1UuXLl1S27ZtNXfuXJUtW9aqWbhwoUaOHGnNIuvatWu+300EAABQUAUOQa1bt5YxJt/tDodDMTExiomJybemXLlymjZtmqZNm5ZvTXBwsBYsWFDQ5gEAANwUfjsMAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYEiEIAADYkkdJNwC3797xnxfr8Q5M6VKsxwMAoChwJQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANgSIQgAANiSR0k34E517/jPi/V4B6Z0KdbjAQBwt+NKEAAAsCVCEAAAsCVCEAAAsCVCEAAAsCVCEAAAsCVCEAAAsKVSH4JmzJih6tWrq1y5cmrcuLG+/vrrkm4SAAC4C5TqEPTBBx9o9OjRmjhxorZv366HH35YnTp10qFDh0q6aQAA4A5XqkPQW2+9pQEDBmjgwIGqW7eupk6dqvDwcM2cObOkmwYAAO5wpfYbozMzM7Vt2zaNHz/ebX379u21cePGXPUZGRnKyMiw/k5LS5MkpaenF0n7sjMuFsl+83O9ftCWvBV3W6TS1R7akrfS1BapdLWHtuSNtuSvKD5jc/ZpjCn0fediSqmjR48aSeabb75xW//qq6+a+++/P1f9pEmTjCQWFhYWFhaWu2A5fPhwkWeNUnslKIfD4XD72xiTa50kTZgwQWPGjLH+zs7O1pkzZ+Tp6al77rlHhw8fVmBgYJG3906Rnp6u8PBwxiUPjE3eGJe8MS75Y2zyxrjkL2ds9uzZo7CwsCI/XqkNQRUrVlTZsmWVkpLitv7kyZMKDQ3NVe/t7S1vb2+3deXLl7cuqwUGBvJmywPjkj/GJm+MS94Yl/wxNnljXPJXpUoVlSlT9I8tl9oHo728vNS4cWMlJCS4rU9ISFDz5s1LqFUAAOBuUWqvBEnSmDFjFBUVpSZNmigiIkKzZ8/WoUOHNHTo0JJuGgAAuMOV6hDUu3dvnT59Wi+99JKOHz+u+vXra+XKlapWrdpN78Pb21uTJk3KdavM7hiX/DE2eWNc8sa45I+xyRvjkr/iHhuHMcUxBw0AAKB0KbXPBAEAABQlQhAAALAlQhAAALAlQhAAALAlQhAAALClUh+CYmNj9dBDDykgIEAhISF6/PHHtW/fPrcaY4xiYmIUFhYmHx8ftW7dWrt373arycjI0IgRI1SxYkX5+fmpa9euOnLkSK7jff7552ratKl8fHxUsWJFde/evUj7d6uKc1x++OEHdevWTRUrVlRgYKBatGihtWvXFnkfb1Vhjc3s2bPVunVrBQYGyuFw6OzZs7mOlZqaqqioKDmdTjmdTkVFReVZVxoU17gcOHBAAwYMUPXq1eXj46MaNWpo0qRJyszMLOou3rLifM/kyMjI0AMPPCCHw6Hk5OQi6NXtK+5xuVPOv1Lxjs2ddA4ujHE5c+aMRowYodq1a8vX11f33HOPRo4caf0weo5COf8W+a+T3aYOHTqYuLg4s2vXLpOcnGy6dOli7rnnHnP+/HmrZsqUKSYgIMD8+9//Njt37jS9e/c2lStXNunp6VbN0KFDTZUqVUxCQoL59ttvTZs2bUyjRo3MlStXrJqPP/7YBAUFmZkzZ5p9+/aZ77//3nz00UfF2t+bVZzjUrNmTdO5c2fz3XffmR9++MEMGzbM+Pr6muPHjxdrn29WYY3N22+/bWJjY01sbKyRZFJTU3Mdq2PHjqZ+/fpm48aNZuPGjaZ+/fomMjKyOLpZYMU1Ll988YXp16+f+fLLL83PP/9sPv30UxMSEmLGjh1bXF0tsOJ8z+QYOXKk6dSpk5Fktm/fXoS9u3XFOS530vnXmOIdmzvpHFwY47Jz507TvXt3s3z5cvPTTz+ZNWvWmFq1apkePXq4Haswzr+lPgRd6+TJk0aSWb9+vTHGmOzsbONyucyUKVOsmsuXLxun02neeecdY4wxZ8+eNZ6enmbJkiVWzdGjR02ZMmVMfHy8McaYrKwsU6VKFfPuu+8WY28KT1GNy6lTp4wk85///MeqSU9PN5LM6tWri6Nrt+1Wxua31q5dm+fJac+ePUaSSUpKstYlJiYaSeb7778vms4UoqIal7y8/vrrpnr16oXW9qJW1GOzcuVKU6dOHbN79+5SHYKuVVTjcqeff40purG508/BtzsuOT788EPj5eVlsrKyjDGFd/4t9bfDrpVzOSw4OFiStH//fqWkpKh9+/ZWjbe3t1q1aqWNGzdKkrZt26asrCy3mrCwMNWvX9+q+fbbb3X06FGVKVNGv//971W5cmV16tQp16XL0qqoxqVChQqqW7eu/vWvf+nChQu6cuWKZs2apdDQUDVu3Li4undbbmVsbkZiYqKcTqeaNm1qrWvWrJmcTmeB9lNSimpc8jtWznHuBEU5NidOnNCgQYM0f/58+fr6Fl6ji0FRjcudfv6Vim5s7vRzcGGNS1pamgIDA+Xh8esPXRTW+feOCkHGGI0ZM0Z//OMfVb9+fUmyfmX+2l+WDw0NtbalpKTIy8tLQUFB+db88ssvkqSYmBj95S9/0WeffaagoCC1atVKZ86cKdJ+3a6iHBeHw6GEhARt375dAQEBKleunN5++23Fx8erfPnyRdyz23erY3MzUlJSFBISkmt9SEhIgfZTEopyXK71888/a9q0aXfMb/4V5dgYY9SvXz8NHTpUTZo0KbxGF4OiHJc7+fwrFe3Y3Mnn4MIal9OnT+vll1/WkCFDrHWFdf4t1b8ddq3hw4drx44d2rBhQ65tDofD7W9jTK511/ptTXZ2tiRp4sSJ6tGjhyQpLi5OVatW1UcffeQ2+KVNUY6LMUbDhg1TSEiIvv76a/n4+Ojdd99VZGSktmzZosqVKxdeR4pAYY/NjfZxq/spbkU9LjmOHTumjh076oknntDAgQNvaR/FrSjHZtq0aUpPT9eECRNuu53FrSjH5U4+/0pFOzZ38jm4MMYlPT1dXbp0Ub169TRp0qTr7uN6+8nPHXMlaMSIEVq+fLnWrl2rqlWrWutdLpck5Up+J0+etJKmy+VSZmamUlNT863JeSPVq1fP2u7t7a377rtPhw4dKvwOFZKiHpevvvpKn332mZYsWaIWLVrowQcf1IwZM+Tj46N58+YVZddu2+2Mzc1wuVw6ceJErvWnTp0q0H6KW1GPS45jx46pTZs2ioiI0OzZs2+v0cWkqMfmq6++UlJSkry9veXh4aGaNWtKkpo0aaLo6OhC6EHRKOpxuVPPv1LxvGfuxHNwYYzLuXPn1LFjR/n7+2vp0qXy9PR0209hnH9LfQgyxmj48OH65JNP9NVXX6l69epu26tXry6Xy6WEhARrXWZmptavX6/mzZtLkho3bixPT0+3muPHj2vXrl1uNd7e3m5T+bKysnTgwIEC/Wp9cSmucbl48aIkqUwZ97dKmTJlrP96K20KY2xuRkREhNLS0rR582Zr3aZNm5SWllag/RSX4hoXSTp69Khat26tBx98UHFxcbneP6VNcY3NP/7xD3333XdKTk5WcnKyVq5cKUn64IMP9OqrrxZOZwpRcY3LnXb+lYpvbO60c3BhjUt6errat28vLy8vLV++XOXKlXPbT6Gdf2/6EeoS8vTTTxun02nWrVtnjh8/bi0XL160aqZMmWKcTqf55JNPzM6dO82TTz6Z51TwqlWrmtWrV5tvv/3WPPLII7mmgo8aNcpUqVLFfPnll+b77783AwYMMCEhIebMmTPF2uebUVzjcurUKVOhQgXTvXt3k5ycbPbt22fGjRtnPD09TXJycrH3+2YU1tgcP37cbN++3cyZM8eanbF9+3Zz+vRpq6Zjx46mYcOGJjEx0SQmJpoGDRqU2inyxTUuR48eNTVr1jSPPPKIOXLkiNuxSqvifM/81v79+0v17LDiHJc76fxrTPGNzZ12Di6McUlPTzdNmzY1DRo0MD/99JPbfn77mV0Y599SH4Ik5bnExcVZNdnZ2WbSpEnG5XIZb29v07JlS7Nz5063/Vy6dMkMHz7cBAcHGx8fHxMZGWkOHTrkVpOZmWnGjh1rQkJCTEBAgGnXrp3ZtWtXcXSzwIpzXLZs2WLat29vgoODTUBAgGnWrJlZuXJlcXTzlhTW2EyaNOmG+zl9+rTp27evCQgIMAEBAaZv3743NWW8JBTXuMTFxeV7rNKqON8zv1XaQ1BxjsuddP41pnjH5k46BxfGuOR8XUBey/79+626wjj/Ov7/RgMAANhK6b5RDwAAUEQIQQAAwJYIQQAAwJYIQQAAwJYIQQAAwJYIQQAAwJYIQQAAwJYIQQAAwJYIQQAAwJYIQQAAwJYIQQAAwJb+PxXsSlG4T0dfAAAAAElFTkSuQmCC",
|
350
|
+
"text/plain": [
|
351
|
+
"<Figure size 640x480 with 1 Axes>"
|
352
|
+
]
|
353
|
+
},
|
354
|
+
"metadata": {},
|
355
|
+
"output_type": "display_data"
|
356
|
+
}
|
357
|
+
],
|
358
|
+
"source": [
|
359
|
+
"group = df.groupby(df.index.year).count()\n",
|
360
|
+
"counts = []\n",
|
361
|
+
"for val in group.values:\n",
|
362
|
+
" counts.append(val[0])\n",
|
363
|
+
"plt.bar(group.index, counts, label = 'Property_Sold/Yr')\n",
|
364
|
+
"plt.title('Property\\'s Sold Year Wise')\n",
|
365
|
+
"plt.legend()\n",
|
366
|
+
"plt.show()"
|
367
|
+
]
|
368
|
+
},
|
369
|
+
{
|
370
|
+
"cell_type": "markdown",
|
371
|
+
"id": "d9b4c518-05ec-41ba-956d-e145efc958fd",
|
372
|
+
"metadata": {},
|
373
|
+
"source": [
|
374
|
+
"##### __7. Query for a specific date range (e.g., Jan 2010 to Dec 2015)__"
|
375
|
+
]
|
376
|
+
},
|
377
|
+
{
|
378
|
+
"cell_type": "code",
|
379
|
+
"execution_count": 8,
|
380
|
+
"id": "17f1f390-9e5b-4bc1-882a-88d0331e3a12",
|
381
|
+
"metadata": {},
|
382
|
+
"outputs": [
|
383
|
+
{
|
384
|
+
"data": {
|
385
|
+
"text/html": [
|
386
|
+
"<div>\n",
|
387
|
+
"<style scoped>\n",
|
388
|
+
" .dataframe tbody tr th:only-of-type {\n",
|
389
|
+
" vertical-align: middle;\n",
|
390
|
+
" }\n",
|
391
|
+
"\n",
|
392
|
+
" .dataframe tbody tr th {\n",
|
393
|
+
" vertical-align: top;\n",
|
394
|
+
" }\n",
|
395
|
+
"\n",
|
396
|
+
" .dataframe thead th {\n",
|
397
|
+
" text-align: right;\n",
|
398
|
+
" }\n",
|
399
|
+
"</style>\n",
|
400
|
+
"<table border=\"1\" class=\"dataframe\">\n",
|
401
|
+
" <thead>\n",
|
402
|
+
" <tr style=\"text-align: right;\">\n",
|
403
|
+
" <th></th>\n",
|
404
|
+
" <th>postcode</th>\n",
|
405
|
+
" <th>price</th>\n",
|
406
|
+
" <th>propertyType</th>\n",
|
407
|
+
" <th>bedrooms</th>\n",
|
408
|
+
" </tr>\n",
|
409
|
+
" <tr>\n",
|
410
|
+
" <th>datesold</th>\n",
|
411
|
+
" <th></th>\n",
|
412
|
+
" <th></th>\n",
|
413
|
+
" <th></th>\n",
|
414
|
+
" <th></th>\n",
|
415
|
+
" </tr>\n",
|
416
|
+
" </thead>\n",
|
417
|
+
" <tbody>\n",
|
418
|
+
" <tr>\n",
|
419
|
+
" <th>2010-01-04</th>\n",
|
420
|
+
" <td>2615</td>\n",
|
421
|
+
" <td>435000</td>\n",
|
422
|
+
" <td>house</td>\n",
|
423
|
+
" <td>3</td>\n",
|
424
|
+
" </tr>\n",
|
425
|
+
" <tr>\n",
|
426
|
+
" <th>2010-01-05</th>\n",
|
427
|
+
" <td>2904</td>\n",
|
428
|
+
" <td>712000</td>\n",
|
429
|
+
" <td>house</td>\n",
|
430
|
+
" <td>4</td>\n",
|
431
|
+
" </tr>\n",
|
432
|
+
" <tr>\n",
|
433
|
+
" <th>2010-01-06</th>\n",
|
434
|
+
" <td>2617</td>\n",
|
435
|
+
" <td>435000</td>\n",
|
436
|
+
" <td>house</td>\n",
|
437
|
+
" <td>4</td>\n",
|
438
|
+
" </tr>\n",
|
439
|
+
" <tr>\n",
|
440
|
+
" <th>2010-01-06</th>\n",
|
441
|
+
" <td>2606</td>\n",
|
442
|
+
" <td>1350000</td>\n",
|
443
|
+
" <td>house</td>\n",
|
444
|
+
" <td>5</td>\n",
|
445
|
+
" </tr>\n",
|
446
|
+
" <tr>\n",
|
447
|
+
" <th>2010-01-07</th>\n",
|
448
|
+
" <td>2905</td>\n",
|
449
|
+
" <td>612500</td>\n",
|
450
|
+
" <td>house</td>\n",
|
451
|
+
" <td>4</td>\n",
|
452
|
+
" </tr>\n",
|
453
|
+
" <tr>\n",
|
454
|
+
" <th>...</th>\n",
|
455
|
+
" <td>...</td>\n",
|
456
|
+
" <td>...</td>\n",
|
457
|
+
" <td>...</td>\n",
|
458
|
+
" <td>...</td>\n",
|
459
|
+
" </tr>\n",
|
460
|
+
" <tr>\n",
|
461
|
+
" <th>2015-12-23</th>\n",
|
462
|
+
" <td>2603</td>\n",
|
463
|
+
" <td>415000</td>\n",
|
464
|
+
" <td>unit</td>\n",
|
465
|
+
" <td>2</td>\n",
|
466
|
+
" </tr>\n",
|
467
|
+
" <tr>\n",
|
468
|
+
" <th>2015-12-23</th>\n",
|
469
|
+
" <td>2612</td>\n",
|
470
|
+
" <td>438000</td>\n",
|
471
|
+
" <td>unit</td>\n",
|
472
|
+
" <td>2</td>\n",
|
473
|
+
" </tr>\n",
|
474
|
+
" <tr>\n",
|
475
|
+
" <th>2015-12-23</th>\n",
|
476
|
+
" <td>2612</td>\n",
|
477
|
+
" <td>450000</td>\n",
|
478
|
+
" <td>unit</td>\n",
|
479
|
+
" <td>2</td>\n",
|
480
|
+
" </tr>\n",
|
481
|
+
" <tr>\n",
|
482
|
+
" <th>2015-12-23</th>\n",
|
483
|
+
" <td>2605</td>\n",
|
484
|
+
" <td>515000</td>\n",
|
485
|
+
" <td>unit</td>\n",
|
486
|
+
" <td>2</td>\n",
|
487
|
+
" </tr>\n",
|
488
|
+
" <tr>\n",
|
489
|
+
" <th>2015-12-24</th>\n",
|
490
|
+
" <td>2900</td>\n",
|
491
|
+
" <td>365000</td>\n",
|
492
|
+
" <td>unit</td>\n",
|
493
|
+
" <td>2</td>\n",
|
494
|
+
" </tr>\n",
|
495
|
+
" </tbody>\n",
|
496
|
+
"</table>\n",
|
497
|
+
"<p>13676 rows × 4 columns</p>\n",
|
498
|
+
"</div>"
|
499
|
+
],
|
500
|
+
"text/plain": [
|
501
|
+
" postcode price propertyType bedrooms\n",
|
502
|
+
"datesold \n",
|
503
|
+
"2010-01-04 2615 435000 house 3\n",
|
504
|
+
"2010-01-05 2904 712000 house 4\n",
|
505
|
+
"2010-01-06 2617 435000 house 4\n",
|
506
|
+
"2010-01-06 2606 1350000 house 5\n",
|
507
|
+
"2010-01-07 2905 612500 house 4\n",
|
508
|
+
"... ... ... ... ...\n",
|
509
|
+
"2015-12-23 2603 415000 unit 2\n",
|
510
|
+
"2015-12-23 2612 438000 unit 2\n",
|
511
|
+
"2015-12-23 2612 450000 unit 2\n",
|
512
|
+
"2015-12-23 2605 515000 unit 2\n",
|
513
|
+
"2015-12-24 2900 365000 unit 2\n",
|
514
|
+
"\n",
|
515
|
+
"[13676 rows x 4 columns]"
|
516
|
+
]
|
517
|
+
},
|
518
|
+
"execution_count": 8,
|
519
|
+
"metadata": {},
|
520
|
+
"output_type": "execute_result"
|
521
|
+
}
|
522
|
+
],
|
523
|
+
"source": [
|
524
|
+
"df2 = \n",
|
525
|
+
"df2 = df[(df.index > '1/1/2010') & (df.index <= '31/12/2015')]\n",
|
526
|
+
"df2"
|
527
|
+
]
|
528
|
+
},
|
529
|
+
{
|
530
|
+
"cell_type": "markdown",
|
531
|
+
"id": "28c84984-a5f0-4c46-963f-5c6e3336aed9",
|
532
|
+
"metadata": {},
|
533
|
+
"source": [
|
534
|
+
"##### __8. Calculate the mean price month-wise (use Groupby)__"
|
535
|
+
]
|
536
|
+
},
|
537
|
+
{
|
538
|
+
"cell_type": "code",
|
539
|
+
"execution_count": 9,
|
540
|
+
"id": "db344276-03ab-4fb5-bb62-5dbc0fc11852",
|
541
|
+
"metadata": {
|
542
|
+
"scrolled": true
|
543
|
+
},
|
544
|
+
"outputs": [
|
545
|
+
{
|
546
|
+
"data": {
|
547
|
+
"text/plain": [
|
548
|
+
"datesold\n",
|
549
|
+
"1 544888.799283\n",
|
550
|
+
"2 563432.444644\n",
|
551
|
+
"3 591471.616919\n",
|
552
|
+
"4 576216.768116\n",
|
553
|
+
"5 582079.192840\n",
|
554
|
+
"6 567459.933735\n",
|
555
|
+
"7 561843.308653\n",
|
556
|
+
"8 565462.996815\n",
|
557
|
+
"9 586977.304541\n",
|
558
|
+
"10 597253.885895\n",
|
559
|
+
"11 624797.507752\n",
|
560
|
+
"12 597433.875000\n",
|
561
|
+
"Name: price, dtype: float64"
|
562
|
+
]
|
563
|
+
},
|
564
|
+
"execution_count": 9,
|
565
|
+
"metadata": {},
|
566
|
+
"output_type": "execute_result"
|
567
|
+
}
|
568
|
+
],
|
569
|
+
"source": [
|
570
|
+
"df2['price'].groupby(df2.index.month).mean()"
|
571
|
+
]
|
572
|
+
},
|
573
|
+
{
|
574
|
+
"cell_type": "markdown",
|
575
|
+
"id": "3f1afa45-d234-4f01-bf63-ea2a5a73f708",
|
576
|
+
"metadata": {},
|
577
|
+
"source": [
|
578
|
+
"##### __9. Perform a histogram plot__"
|
579
|
+
]
|
580
|
+
},
|
581
|
+
{
|
582
|
+
"cell_type": "code",
|
583
|
+
"execution_count": 10,
|
584
|
+
"id": "f0d19cd6-8800-4b7b-b827-6c8fb43d72d9",
|
585
|
+
"metadata": {},
|
586
|
+
"outputs": [
|
587
|
+
{
|
588
|
+
"data": {
|
589
|
+
"image/png": "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C02bNsXGjRtRowY7vSEiIiLbie4npKTYTwgREZH7ccTz2zX6HyciIqJSh0EIERERyYJBCBEREcmCQQgRERHJgkEIERERyYJBCBEREclCdD8hJaVpEczRdImIiNyH5rktZc8eTg9CsrOzAYCj6RIREbmh7OxshISESLIup3dWplarkZKSgqCgILMj77qrrKwsREZGIjk5mR2xmcDjYxmPj3U8Rpbx+FjG42OdpWMkCAKys7MREREBLy9panM4PSfEy8sL1apVc/ZmnSo4OJgnuAU8Ppbx+FjHY2QZj49lPD7WmTtGUuWAaLBiKhEREcmCQQgRERHJgkGIhJRKJSZOnAilUil3UlwSj49lPD7W8RhZxuNjGY+Pdc4+Rk6vmEpEREQEMCeEiIiIZMIghIiIiGTBIISIiIhkwSCEiIiIZMEghIiIiGTBIERHTEwM2rZti6CgIISFheH555/HxYsX9eYRBAGff/45IiIi4O/vj65du+LcuXN686hUKowdOxYVK1ZE2bJl8eyzz+LGjRt681y6dAnPPfccKlasiODgYHTq1Am7du1y+D6WhFTHZ968eejatSuCg4OhUChw//59o23du3cPQ4cORUhICEJCQjB06FCT87kaZx2jxMREvPHGG6hVqxb8/f1Rp04dTJw4Efn5+Y7exRJx5jmkoVKp0LJlSygUCsTGxjpgr6Tj7OOzYcMGtG/fHv7+/qhYsSIGDhzoqF2TjDOPUWm9T9+9exdjx45FgwYNEBAQgOrVq+Odd95BZmam3nqkuE8zCNGxZ88ejB49GocPH8a2bdtQWFiIXr16IScnRzvP9OnT8d133+Gnn37CsWPHEB4ejp49e2oH5gOA9957D6tXr8by5cuxf/9+PHjwAP3790dRUZF2nn79+qGwsBA7d+7EiRMn0LJlS/Tv3x+pqalO3WcxpDo+ubm56N27Nz7++GOz2xo8eDBiY2OxefNmbN68GbGxsRg6dKhD908KzjpGFy5cgFqtxty5c3Hu3DnMmDEDc+bMsXhMXYEzzyGN//3vf4iIiHDI/kjNmcfn77//xtChQzFixAicPn0aBw4cwODBgx26f1Jw5jEqrffplJQUpKSk4JtvvkFcXBwWL16MzZs344033tDbliT3aYHMSktLEwAIe/bsEQRBENRqtRAeHi5MmzZNO09eXp4QEhIizJkzRxAEQbh/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",
|
590
|
+
"text/plain": [
|
591
|
+
"<Figure size 640x480 with 1 Axes>"
|
592
|
+
]
|
593
|
+
},
|
594
|
+
"metadata": {},
|
595
|
+
"output_type": "display_data"
|
596
|
+
}
|
597
|
+
],
|
598
|
+
"source": [
|
599
|
+
"plt.plot(df['price'])\n",
|
600
|
+
"plt.title('Price Distribution Time-Series')\n",
|
601
|
+
"plt.show()"
|
602
|
+
]
|
603
|
+
},
|
604
|
+
{
|
605
|
+
"cell_type": "markdown",
|
606
|
+
"id": "b33230fa-a886-4639-926a-cb60f0398745",
|
607
|
+
"metadata": {},
|
608
|
+
"source": [
|
609
|
+
"##### __10. Print the property price > 5Lakhs__"
|
610
|
+
]
|
611
|
+
},
|
612
|
+
{
|
613
|
+
"cell_type": "code",
|
614
|
+
"execution_count": 11,
|
615
|
+
"id": "42695276-9e68-4e56-90a6-02a10e78ed14",
|
616
|
+
"metadata": {},
|
617
|
+
"outputs": [
|
618
|
+
{
|
619
|
+
"data": {
|
620
|
+
"text/html": [
|
621
|
+
"<div>\n",
|
622
|
+
"<style scoped>\n",
|
623
|
+
" .dataframe tbody tr th:only-of-type {\n",
|
624
|
+
" vertical-align: middle;\n",
|
625
|
+
" }\n",
|
626
|
+
"\n",
|
627
|
+
" .dataframe tbody tr th {\n",
|
628
|
+
" vertical-align: top;\n",
|
629
|
+
" }\n",
|
630
|
+
"\n",
|
631
|
+
" .dataframe thead th {\n",
|
632
|
+
" text-align: right;\n",
|
633
|
+
" }\n",
|
634
|
+
"</style>\n",
|
635
|
+
"<table border=\"1\" class=\"dataframe\">\n",
|
636
|
+
" <thead>\n",
|
637
|
+
" <tr style=\"text-align: right;\">\n",
|
638
|
+
" <th></th>\n",
|
639
|
+
" <th>postcode</th>\n",
|
640
|
+
" <th>price</th>\n",
|
641
|
+
" <th>propertyType</th>\n",
|
642
|
+
" <th>bedrooms</th>\n",
|
643
|
+
" </tr>\n",
|
644
|
+
" <tr>\n",
|
645
|
+
" <th>datesold</th>\n",
|
646
|
+
" <th></th>\n",
|
647
|
+
" <th></th>\n",
|
648
|
+
" <th></th>\n",
|
649
|
+
" <th></th>\n",
|
650
|
+
" </tr>\n",
|
651
|
+
" </thead>\n",
|
652
|
+
" <tbody>\n",
|
653
|
+
" <tr>\n",
|
654
|
+
" <th>2007-02-07</th>\n",
|
655
|
+
" <td>2607</td>\n",
|
656
|
+
" <td>525000</td>\n",
|
657
|
+
" <td>house</td>\n",
|
658
|
+
" <td>4</td>\n",
|
659
|
+
" </tr>\n",
|
660
|
+
" <tr>\n",
|
661
|
+
" <th>2007-04-30</th>\n",
|
662
|
+
" <td>2606</td>\n",
|
663
|
+
" <td>1530000</td>\n",
|
664
|
+
" <td>house</td>\n",
|
665
|
+
" <td>4</td>\n",
|
666
|
+
" </tr>\n",
|
667
|
+
" <tr>\n",
|
668
|
+
" <th>2007-06-27</th>\n",
|
669
|
+
" <td>2612</td>\n",
|
670
|
+
" <td>850000</td>\n",
|
671
|
+
" <td>house</td>\n",
|
672
|
+
" <td>4</td>\n",
|
673
|
+
" </tr>\n",
|
674
|
+
" <tr>\n",
|
675
|
+
" <th>2007-06-28</th>\n",
|
676
|
+
" <td>2904</td>\n",
|
677
|
+
" <td>765000</td>\n",
|
678
|
+
" <td>house</td>\n",
|
679
|
+
" <td>4</td>\n",
|
680
|
+
" </tr>\n",
|
681
|
+
" <tr>\n",
|
682
|
+
" <th>2007-06-30</th>\n",
|
683
|
+
" <td>2615</td>\n",
|
684
|
+
" <td>517000</td>\n",
|
685
|
+
" <td>house</td>\n",
|
686
|
+
" <td>4</td>\n",
|
687
|
+
" </tr>\n",
|
688
|
+
" <tr>\n",
|
689
|
+
" <th>...</th>\n",
|
690
|
+
" <td>...</td>\n",
|
691
|
+
" <td>...</td>\n",
|
692
|
+
" <td>...</td>\n",
|
693
|
+
" <td>...</td>\n",
|
694
|
+
" </tr>\n",
|
695
|
+
" <tr>\n",
|
696
|
+
" <th>2019-07-23</th>\n",
|
697
|
+
" <td>2912</td>\n",
|
698
|
+
" <td>549950</td>\n",
|
699
|
+
" <td>unit</td>\n",
|
700
|
+
" <td>3</td>\n",
|
701
|
+
" </tr>\n",
|
702
|
+
" <tr>\n",
|
703
|
+
" <th>2019-07-24</th>\n",
|
704
|
+
" <td>2601</td>\n",
|
705
|
+
" <td>590000</td>\n",
|
706
|
+
" <td>unit</td>\n",
|
707
|
+
" <td>1</td>\n",
|
708
|
+
" </tr>\n",
|
709
|
+
" <tr>\n",
|
710
|
+
" <th>2019-07-25</th>\n",
|
711
|
+
" <td>2612</td>\n",
|
712
|
+
" <td>560000</td>\n",
|
713
|
+
" <td>unit</td>\n",
|
714
|
+
" <td>2</td>\n",
|
715
|
+
" </tr>\n",
|
716
|
+
" <tr>\n",
|
717
|
+
" <th>2019-07-26</th>\n",
|
718
|
+
" <td>2601</td>\n",
|
719
|
+
" <td>589000</td>\n",
|
720
|
+
" <td>unit</td>\n",
|
721
|
+
" <td>2</td>\n",
|
722
|
+
" </tr>\n",
|
723
|
+
" <tr>\n",
|
724
|
+
" <th>2019-07-26</th>\n",
|
725
|
+
" <td>2612</td>\n",
|
726
|
+
" <td>775000</td>\n",
|
727
|
+
" <td>unit</td>\n",
|
728
|
+
" <td>2</td>\n",
|
729
|
+
" </tr>\n",
|
730
|
+
" </tbody>\n",
|
731
|
+
"</table>\n",
|
732
|
+
"<p>17873 rows × 4 columns</p>\n",
|
733
|
+
"</div>"
|
734
|
+
],
|
735
|
+
"text/plain": [
|
736
|
+
" postcode price propertyType bedrooms\n",
|
737
|
+
"datesold \n",
|
738
|
+
"2007-02-07 2607 525000 house 4\n",
|
739
|
+
"2007-04-30 2606 1530000 house 4\n",
|
740
|
+
"2007-06-27 2612 850000 house 4\n",
|
741
|
+
"2007-06-28 2904 765000 house 4\n",
|
742
|
+
"2007-06-30 2615 517000 house 4\n",
|
743
|
+
"... ... ... ... ...\n",
|
744
|
+
"2019-07-23 2912 549950 unit 3\n",
|
745
|
+
"2019-07-24 2601 590000 unit 1\n",
|
746
|
+
"2019-07-25 2612 560000 unit 2\n",
|
747
|
+
"2019-07-26 2601 589000 unit 2\n",
|
748
|
+
"2019-07-26 2612 775000 unit 2\n",
|
749
|
+
"\n",
|
750
|
+
"[17873 rows x 4 columns]"
|
751
|
+
]
|
752
|
+
},
|
753
|
+
"execution_count": 11,
|
754
|
+
"metadata": {},
|
755
|
+
"output_type": "execute_result"
|
756
|
+
}
|
757
|
+
],
|
758
|
+
"source": [
|
759
|
+
"df[df['price'] > 500000]"
|
760
|
+
]
|
761
|
+
}
|
762
|
+
],
|
763
|
+
"metadata": {
|
764
|
+
"kernelspec": {
|
765
|
+
"display_name": "Python 3 (ipykernel)",
|
766
|
+
"language": "python",
|
767
|
+
"name": "python3"
|
768
|
+
},
|
769
|
+
"language_info": {
|
770
|
+
"codemirror_mode": {
|
771
|
+
"name": "ipython",
|
772
|
+
"version": 3
|
773
|
+
},
|
774
|
+
"file_extension": ".py",
|
775
|
+
"mimetype": "text/x-python",
|
776
|
+
"name": "python",
|
777
|
+
"nbconvert_exporter": "python",
|
778
|
+
"pygments_lexer": "ipython3",
|
779
|
+
"version": "3.11.7"
|
780
|
+
}
|
781
|
+
},
|
782
|
+
"nbformat": 4,
|
783
|
+
"nbformat_minor": 5
|
784
|
+
}
|