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>
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.