Book Image

Practical Data Wrangling

By : Allan Visochek
Book Image

Practical Data Wrangling

By: Allan Visochek

Overview of this book

Around 80% of time in data analysis is spent on cleaning and preparing data for analysis. This is, however, an important task, and is a prerequisite to the rest of the data analysis workflow, including visualization, analysis and reporting. Python and R are considered a popular choice of tool for data analysis, and have packages that can be best used to manipulate different kinds of data, as per your requirements. This book will show you the different data wrangling techniques, and how you can leverage the power of Python and R packages to implement them. You’ll start by understanding the data wrangling process and get a solid foundation to work with different types of data. You’ll work with different data structures and acquire and parse data from various locations. You’ll also see how to reshape the layout of data and manipulate, summarize, and join data sets. Finally, we conclude with a quick primer on accessing and processing data from databases, conducting data exploration, and storing and retrieving data quickly using databases. The book includes practical examples on each of these points using simple and real-world data sets to give you an easier understanding. By the end of the book, you’ll have a thorough understanding of all the data wrangling concepts and how to implement them in the best possible way.
Table of Contents (16 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Interfacing with MongoDB from Python


Python can connect to MongoDB using the pymongo module. To start off with, I will create a file called process_large_data.py and import the pymongo and csv modules. You will need to import both pymongo and MongoClient as I have done in the demonstration:

import csv
import pymongo
from pymongo import MongoClient

MongoClient takes care of establishing a connection and interfacing with the database system. The following steps in process_large_data.py will create an object assigned to the collection variable, which can be used to insert documents into the database:

....
from pymongo import MongoClient

## create a MongoClient object,
## used to connect and interface
## with mongodb
client = MongoClient()

## these two lines create a collection
## object which allows you to interface
## with a particular collection
db = client.weather
collection = db["records2"]

The only thing left to do now is to read the data line by line and insert each row as a record into...