在 python 中组织虹膜数据
Posted
技术标签:
【中文标题】在 python 中组织虹膜数据【英文标题】:Organize Iris Data in python 【发布时间】:2013-04-29 16:43:10 【问题描述】:给出以下信息:
http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data
我需要有一个输出:
-
萼片长度 2. 萼片宽度 3. 花瓣长度 4. 花瓣宽度 5. 等级:a.鸢尾花 b.异色虹膜 c.弗吉尼亚鸢尾
代码需要有一个名为 iris-summary.txt 的输出文件。
输出文件应给出萼片和花瓣长度和宽度的平均值。建议的输出格式是: 平均萼片长度, 平均萼片宽度, 平均花瓣长度, 平均花瓣宽度, 等级 在这种情况下,正确的输出将被格式化为: 6.588, 2.974, 5.552, 2.026, Iris-virginica 5.006, 3.418, 1.464, 0.244, 鸢尾花 5.936, 2.77, 4.26, 1.326, 鸢尾花
我知道我需要使用字典和列表理解。我也知道我需要使用 f.split(",") 功能将键添加到字典中,然后我可以在其中添加然后平均它们。
如果有人可以帮助我处理此代码,谢谢。
这只是我做的一些摆弄,但我知道我离得很远。我几乎只创建了列表和字典,并且知道仍然必须附加键。我需要同时使用字典和列表吗?
from __future__ import division, print_function
f = ('iris.txt', 'r')
f2 = ('iris-summary.txt', 'w')
for line in f
c = f.split(',')
l_sl = []
l_sw = []
l_pl = []
l_pw = []
l_c = []
d_sepal_length =
d_sepal_width =
d_pedal_length =
d_pedal_width =
d_class =
【问题讨论】:
更新这些列表inside循环,然后使用sum
和len
获取平均值。
你能给我看一个关于萼片长度的例子吗?从外观上看,我将放弃使用字典。反正我对他们不太满意。
【参考方案1】:
k = [s.split(',') for s in open('iris.txt').readlines()]
sl = sum(s[0] for s in k)/len(k)
等等
【讨论】:
那么我如何让它将所述数据输出到我在 f2 中创建的新文件中 请搜索一下。 Python 以 excellent documentation 开头。以上是关于在 python 中组织虹膜数据的主要内容,如果未能解决你的问题,请参考以下文章