{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Reading in sample data" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dt10index
02006-01-0373.290
12006-01-0474.691
22006-01-0572.862
32006-01-0669.123
42006-01-0964.904
\n", "
" ], "text/plain": [ " dt 10 index\n", "0 2006-01-03 73.29 0\n", "1 2006-01-04 74.69 1\n", "2 2006-01-05 72.86 2\n", "3 2006-01-06 69.12 3\n", "4 2006-01-09 64.90 4" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "import featuretools as ft\n", "\n", "df = pd.read_csv('feature_tools_example.csv',parse_dates=['dt'])\n", "df['index'] = df.index\n", "df.columns = ['dt',10,'index'] # Calling 10 an int dtype to create error\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Creating EntitySet running section will generate stack trace" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [ { "ename": "AttributeError", "evalue": "'int' object has no attribute 'lower'", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mentity_id\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'test'\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;33m,\u001b[0m \u001b[0mdataframe\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 5\u001b[1;33m , index='index')\n\u001b[0m\u001b[0;32m 6\u001b[0m \u001b[0mes\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32mc:\\python36\\lib\\site-packages\\featuretools\\entityset\\entityset.py\u001b[0m in \u001b[0;36mentity_from_dataframe\u001b[1;34m(self, entity_id, dataframe, index, variable_types, make_index, time_index, secondary_time_index, encoding, already_sorted)\u001b[0m\n\u001b[0;32m 736\u001b[0m \u001b[0mvariable_types\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mvariable_types\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 737\u001b[0m \u001b[0mencoding\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mencoding\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 738\u001b[1;33m already_sorted=already_sorted)\n\u001b[0m\u001b[0;32m 739\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 740\u001b[0m def normalize_entity(self, base_entity_id, new_entity_id, index,\n", "\u001b[1;32mc:\\python36\\lib\\site-packages\\featuretools\\entityset\\entityset.py\u001b[0m in \u001b[0;36m_import_from_dataframe\u001b[1;34m(self, entity_id, dataframe, index, variable_types, make_index, time_index, secondary_time_index, last_time_index, parse_date_cols, encoding, already_sorted)\u001b[0m\n\u001b[0;32m 1227\u001b[0m \u001b[0mrelationships\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mcurrent_relationships\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1228\u001b[0m \u001b[0malready_sorted\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0malready_sorted\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1229\u001b[1;33m created_index=created_index)\n\u001b[0m\u001b[0;32m 1230\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mentity_dict\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mentity\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mid\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mentity\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1231\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mreset_metadata\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32mc:\\python36\\lib\\site-packages\\featuretools\\entityset\\entity.py\u001b[0m in \u001b[0;36m__init__\u001b[1;34m(self, id, df, entityset, variable_types, index, time_index, secondary_time_index, last_time_index, encoding, relationships, already_sorted, created_index, verbose)\u001b[0m\n\u001b[0;32m 92\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 93\u001b[0m inferred_variable_types = self.infer_variable_types(ignore=list(variable_types.keys()),\n\u001b[1;32m---> 94\u001b[1;33m link_vars=link_vars)\n\u001b[0m\u001b[0;32m 95\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mvar_id\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdesired_type\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mvariable_types\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 96\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdesired_type\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtuple\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;32mc:\\python36\\lib\\site-packages\\featuretools\\entityset\\entity.py\u001b[0m in \u001b[0;36minfer_variable_types\u001b[1;34m(self, ignore, link_vars)\u001b[0m\n\u001b[0;32m 404\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mvariable\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mignore\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 405\u001b[0m \u001b[1;32mcontinue\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 406\u001b[1;33m \u001b[1;32melif\u001b[0m \u001b[0mvariable\u001b[0m \u001b[1;33m==\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mvariable\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlower\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'id'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 407\u001b[0m \u001b[0minferred_type\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mvtypes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mIndex\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 408\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mAttributeError\u001b[0m: 'int' object has no attribute 'lower'" ] } ], "source": [ "es = ft.EntitySet(id='Example')\n", "es = es.entity_from_dataframe(\n", " entity_id='test'\n", " , dataframe=df\n", " , index='index')\n", "es" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Setting 10 as str to fix error and allow EntitySet to be created" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Entityset: Example\n", " Entities:\n", " test [Rows: 3168, Columns: 3]\n", " Relationships:\n", " No relationships" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.columns = ['dt','10','index']\n", "es2 = ft.EntitySet(id='Example')\n", "es2 = es2.entity_from_dataframe(\n", " entity_id='test'\n", " , dataframe=df\n", " , index='index')\n", "es2" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }