Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

In Python 2.7: Irises (the flower) come in three different species: setosa, verg

ID: 3769188 • Letter: I

Question

In Python 2.7:

Irises (the flower) come in three different species: setosa, verginica, and versicolor. Each line of

the file http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data

has five values: sepal length, sepal width, petal length, petal width, and the species name.

Download this file and write the following Python functions that operate on this data.

(a) getData(fileName)

Purpose: Read all data from fileName and put in dictionary form.

Input: A string fileName which refers to the data file.

Return: A dictionary where each key is a species name and the value

associated with each key is a list of lists. Each sublist corre-

sponds to one line of data in the file. The first three lines of

the file look like this:

5.1,3.5,1.4,0.2,Iris-setosa

4.9,3.0,1.4,0.2,Iris-setosa

4.7,3.2,1.3,0.2,Iris-setosa

If your program read only these three lines, then your

dictionary would have only one key: Iris-setosa and

the value associated with that key would be the list:

[[5.1,3.5,1.4,0.2],[4.9,3.0,1.4,0.2],[4.7,3.2,1.3,0.2]]

Convert the values in these lists to floats (don't leave them

as strings). Since there are three types of irises in the file,

your dictionary will have three keys.

Notes: Although the data in the file is sorted by iris type, do not

use this fact in your code. Use only the knowledge that each

line corresponds to a particular iris, the data in each line is

ordered as noted above separated by commas.

file mentioned above is as follows in .txt format:

measurements name
5.1,3.5,1.4,0.2 Iris-setosa
4.9,3.0,1.4,0.2 Iris-setosa
4.7,3.2,1.3,0.2 Iris-setosa
4.6,3.1,1.5,0.2 Iris-setosa
5.0,3.6,1.4,0.2 Iris-setosa
5.4,3.9,1.7,0.4 Iris-setosa
4.6,3.4,1.4,0.3 Iris-setosa
5.0,3.4,1.5,0.2 Iris-setosa
4.4,2.9,1.4,0.2 Iris-setosa
4.9,3.1,1.5,0.1 Iris-setosa
5.4,3.7,1.5,0.2 Iris-setosa
4.8,3.4,1.6,0.2 Iris-setosa
4.8,3.0,1.4,0.1 Iris-setosa
4.3,3.0,1.1,0.1 Iris-setosa
5.8,4.0,1.2,0.2 Iris-setosa
5.7,4.4,1.5,0.4 Iris-setosa
5.4,3.9,1.3,0.4 Iris-setosa
5.1,3.5,1.4,0.3 Iris-setosa
5.7,3.8,1.7,0.3 Iris-setosa
5.1,3.8,1.5,0.3 Iris-setosa
5.4,3.4,1.7,0.2 Iris-setosa
5.1,3.7,1.5,0.4 Iris-setosa
4.6,3.6,1.0,0.2 Iris-setosa
5.1,3.3,1.7,0.5 Iris-setosa
4.8,3.4,1.9,0.2 Iris-setosa
5.0,3.0,1.6,0.2 Iris-setosa
5.0,3.4,1.6,0.4 Iris-setosa
5.2,3.5,1.5,0.2 Iris-setosa
5.2,3.4,1.4,0.2 Iris-setosa
4.7,3.2,1.6,0.2 Iris-setosa
4.8,3.1,1.6,0.2 Iris-setosa
5.4,3.4,1.5,0.4 Iris-setosa
5.2,4.1,1.5,0.1 Iris-setosa
5.5,4.2,1.4,0.2 Iris-setosa
4.9,3.1,1.5,0.1 Iris-setosa
5.0,3.2,1.2,0.2 Iris-setosa
5.5,3.5,1.3,0.2 Iris-setosa
4.9,3.1,1.5,0.1 Iris-setosa
4.4,3.0,1.3,0.2 Iris-setosa
5.1,3.4,1.5,0.2 Iris-setosa
5.0,3.5,1.3,0.3 Iris-setosa
4.5,2.3,1.3,0.3 Iris-setosa
4.4,3.2,1.3,0.2 Iris-setosa
5.0,3.5,1.6,0.6 Iris-setosa
5.1,3.8,1.9,0.4 Iris-setosa
4.8,3.0,1.4,0.3 Iris-setosa
5.1,3.8,1.6,0.2 Iris-setosa
4.6,3.2,1.4,0.2 Iris-setosa
5.3,3.7,1.5,0.2 Iris-setosa
5.0,3.3,1.4,0.2 Iris-setosa
7.0,3.2,4.7,1.4 Iris-versicolor
6.4,3.2,4.5,1.5 Iris-versicolor
6.9,3.1,4.9,1.5 Iris-versicolor
5.5,2.3,4.0,1.3 Iris-versicolor
6.5,2.8,4.6,1.5 Iris-versicolor
5.7,2.8,4.5,1.3 Iris-versicolor
6.3,3.3,4.7,1.6 Iris-versicolor
4.9,2.4,3.3,1.0 Iris-versicolor
6.6,2.9,4.6,1.3 Iris-versicolor
5.2,2.7,3.9,1.4 Iris-versicolor
5.0,2.0,3.5,1.0 Iris-versicolor
5.9,3.0,4.2,1.5 Iris-versicolor
6.0,2.2,4.0,1.0 Iris-versicolor
6.1,2.9,4.7,1.4 Iris-versicolor
5.6,2.9,3.6,1.3 Iris-versicolor
6.7,3.1,4.4,1.4 Iris-versicolor
5.6,3.0,4.5,1.5 Iris-versicolor
5.8,2.7,4.1,1.0 Iris-versicolor
6.2,2.2,4.5,1.5 Iris-versicolor
5.6,2.5,3.9,1.1 Iris-versicolor
5.9,3.2,4.8,1.8 Iris-versicolor
6.1,2.8,4.0,1.3 Iris-versicolor
6.3,2.5,4.9,1.5 Iris-versicolor
6.1,2.8,4.7,1.2 Iris-versicolor
6.4,2.9,4.3,1.3 Iris-versicolor
6.6,3.0,4.4,1.4 Iris-versicolor
6.8,2.8,4.8,1.4 Iris-versicolor
6.7,3.0,5.0,1.7 Iris-versicolor
6.0,2.9,4.5,1.5 Iris-versicolor
5.7,2.6,3.5,1.0 Iris-versicolor
5.5,2.4,3.8,1.1 Iris-versicolor
5.5,2.4,3.7,1.0 Iris-versicolor
5.8,2.7,3.9,1.2 Iris-versicolor
6.0,2.7,5.1,1.6 Iris-versicolor
5.4,3.0,4.5,1.5 Iris-versicolor
6.0,3.4,4.5,1.6 Iris-versicolor
6.7,3.1,4.7,1.5 Iris-versicolor
6.3,2.3,4.4,1.3 Iris-versicolor
5.6,3.0,4.1,1.3 Iris-versicolor
5.5,2.5,4.0,1.3 Iris-versicolor
5.5,2.6,4.4,1.2 Iris-versicolor
6.1,3.0,4.6,1.4 Iris-versicolor
5.8,2.6,4.0,1.2 Iris-versicolor
5.0,2.3,3.3,1.0 Iris-versicolor
5.6,2.7,4.2,1.3 Iris-versicolor
5.7,3.0,4.2,1.2 Iris-versicolor
5.7,2.9,4.2,1.3 Iris-versicolor
6.2,2.9,4.3,1.3 Iris-versicolor
5.1,2.5,3.0,1.1 Iris-versicolor
5.7,2.8,4.1,1.3 Iris-versicolor
6.3,3.3,6.0,2.5 Iris-virginica
5.8,2.7,5.1,1.9 Iris-virginica
7.1,3.0,5.9,2.1 Iris-virginica
6.3,2.9,5.6,1.8 Iris-virginica
6.5,3.0,5.8,2.2 Iris-virginica
7.6,3.0,6.6,2.1 Iris-virginica
4.9,2.5,4.5,1.7 Iris-virginica
7.3,2.9,6.3,1.8 Iris-virginica
6.7,2.5,5.8,1.8 Iris-virginica
7.2,3.6,6.1,2.5 Iris-virginica
6.5,3.2,5.1,2.0 Iris-virginica
6.4,2.7,5.3,1.9 Iris-virginica
6.8,3.0,5.5,2.1 Iris-virginica
5.7,2.5,5.0,2.0 Iris-virginica
5.8,2.8,5.1,2.4 Iris-virginica
6.4,3.2,5.3,2.3 Iris-virginica
6.5,3.0,5.5,1.8 Iris-virginica
7.7,3.8,6.7,2.2 Iris-virginica
7.7,2.6,6.9,2.3 Iris-virginica
6.0,2.2,5.0,1.5 Iris-virginica
6.9,3.2,5.7,2.3 Iris-virginica
5.6,2.8,4.9,2.0 Iris-virginica
7.7,2.8,6.7,2.0 Iris-virginica
6.3,2.7,4.9,1.8 Iris-virginica
6.7,3.3,5.7,2.1 Iris-virginica
7.2,3.2,6.0,1.8 Iris-virginica
6.2,2.8,4.8,1.8 Iris-virginica
6.1,3.0,4.9,1.8 Iris-virginica
6.4,2.8,5.6,2.1 Iris-virginica
7.2,3.0,5.8,1.6 Iris-virginica
7.4,2.8,6.1,1.9 Iris-virginica
7.9,3.8,6.4,2.0 Iris-virginica
6.4,2.8,5.6,2.2 Iris-virginica
6.3,2.8,5.1,1.5 Iris-virginica
6.1,2.6,5.6,1.4 Iris-virginica
7.7,3.0,6.1,2.3 Iris-virginica
6.3,3.4,5.6,2.4 Iris-virginica
6.4,3.1,5.5,1.8 Iris-virginica
6.0,3.0,4.8,1.8 Iris-virginica
6.9,3.1,5.4,2.1 Iris-virginica
6.7,3.1,5.6,2.4 Iris-virginica
6.9,3.1,5.1,2.3 Iris-virginica
5.8,2.7,5.1,1.9 Iris-virginica
6.8,3.2,5.9,2.3 Iris-virginica
6.7,3.3,5.7,2.5 Iris-virginica
6.7,3.0,5.2,2.3 Iris-virginica
6.3,2.5,5.0,1.9 Iris-virginica
6.5,3.0,5.2,2.0 Iris-virginica
6.2,3.4,5.4,2.3 Iris-virginica
5.9,3.0,5.1,1.8 Iris-virginica

Explanation / Answer

Place python code and data file (iris.data.txt) in same directory and then run the program

<code>

f = open('iris.data.txt', 'r')
dictionary = {}
for line in f:
   print line
   arr = line.split(',')
   if len(arr) == 5:
       if arr[4].rstrip() in dictionary:
           print '' #already got this
       else:
           dictionary[arr[4].rstrip()] = []

       tmparr = []
       for i in range(0,4):
           tmparr.append(arr[i])

       dictionary[arr[4].rstrip()].append(tmparr)
print "Enter the file name"
file_name = raw_input()
print dictionary[file_name]

</code>

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote