用python把名字和操作数据怎么对应起来呢?感谢指导!
本帖最后由 G木木夕 于 2016-01-29 17:06 编辑像:
name1 name2 ...name5
1 3 6
2 9 6
4 9 3.2
6 9 1
求每两两列皮尔逊相关系数后,输出结果是共C5 2个(5个样本两两组合个数)数据构成的list,
但我要是把列的名字——name2,name3 =...name1,name5 = .........就是与相应的结果对应上,该怎么处理?看了很久python,想不出怎么办?(求代码~~~)
题意 还是出了名的 看不懂..... 我也没看懂题,楼主请把题目整理一下吧 回复 1# G木木夕
我是用的linux系统,vim编辑
假设你的题意是每列中的名字和其余数据相对应,用字典实现test@ubuntu:~/Python$ cat text.txt
name1 name2 name5
1 3 6
2 9 6
4 9 3.2
6 9 1
test@ubuntu:~/Python$ python
Python 2.7.10 (default, Oct 14 2015, 16:09:02)
on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> result = {}
>>> lineList = []
>>> with open('text.txt') as f:
... lines = f.readlines()
... for line in lines:
... lineList.append(line.strip().split())
... print "\n-------\n",lines,"\n-------\n"
... titles = lineList
... for j in xrange(len(titles)):
... result] = []
... for i in xrange(1, len(lineList)):
... for j in xrange(len(titles)):
... result].append(lineList)
...
-------
['name1 name2 name5\n', '1 3 6\n', '2 9 6\n', '4 9 3.2\n', '6 9 1\n']
-------
>>> print result
{'name5': ['6', '6', '3.2', '1'], 'name2': ['3', '9', '9', '9'], 'name1': ['1', '2', '4', '6']}
>>>
用列表推导式实现更简洁{:qq33:}test@ubuntu:~/Python$ cat text.txt
name1 name2 name5
1 3 6
2 9 6
4 9 3.2
6 9 1
test@ubuntu:~/Python$ python
Python 2.7.10 (default, Oct 14 2015, 16:09:02)
on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> result = {}
>>> with open('text.txt') as f:
... lines = f.readlines()
... lineList =
... titles = lineList
... for j in xrange(len(titles)):
... result] = []
... a = ].append(lineList) for i in xrange(1, len(lineList)) for j in xrange(len(titles))]
...
>>> print result
{'name5': ['6', '6', '3.2', '1'], 'name2': ['3', '9', '9', '9'], 'name1': ['1', '2', '4', '6']}
>>>
感谢大神!!!回复 6# zhonghua7896321
页:
[1]