This commit is contained in:
stuiterbal
2019-05-13 19:16:55 +00:00
parent 3ebd14c84e
commit 86ba5ca7d7
2 changed files with 172 additions and 2 deletions

View File

@@ -1,11 +1,96 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# inlezen en inbrengen van de data naar variabelen\n",
"\n",
"## inlezen van de data zelf\n",
"\n",
"We beginnen met het inlezen van de data via een with statement waar we de data als een array van strings inlezen.\n",
"Zo kunnen we deze array in een parse functie steken die elke string afloopt, en split via het & teken. Als we kijken naar een stuk van de data zullen we zien waarom:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
"source": [
"\n",
"\n",
"with open(\"DataScienceData01.txt\",\"r\") as infile:\n",
" lines = infile.readlines()\n",
"\n",
"print(lines[1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## parsen van de data\n",
"\n",
"Zoals we kunnen zien moeten we de string splitten op de & karakters. Daarna wordt de data nogmaals gesplitst op het , teken, dit is omdat het laatste item van de variabelen altijd een array is. Om dan na deze split de rest te fixen, zetten we de gesplitte non arrays terug naar een single item"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n",
"def dataParse(l):\n",
" objs = l.split(\"& \")\n",
" dic = {}\n",
" for obj in objs:\n",
" items = obj.split(\"=\")\n",
" title = items[0]\n",
" data = items[1].split(\",\")\n",
" if len(data) == 1:\n",
" data = data[0]\n",
" dic[title] = data\n",
" return dic \n",
"\n",
"\n",
"data = []\n",
"for l in lines:\n",
" data.append(dataParse(l))\n",
"\n",
"\n",
"import pandas as pd\n",
"\n",
"\n",
"\n",
"df = pd.DataFrame(data)\n",
"print(df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## uithalen van invalide data en inlezen in dataframes\n",
"\n",
"Het ambetante hier is dat we nog geen goede grasp hebben op wat de data toont, en welke delen data dat er invalide zouden zijn. We zullen dus eerst alle data tonen:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"\n",
"\n",
"\n",
"df = pd.DataFrame(data)\n",
"for row in df.rows:\n",
" print(row)"
]
}
],
"metadata": {