我已经搜索了几个小时了,整整一天我都在研究如何用Python生成一个枢轴表。我对蟒蛇很陌生,所以请容忍我。
我想要的是获取一个csv文件,提取第一列,并使用该列中数字的计数或频率生成一个枢轴表,然后排序降序。
import pandas
import numpy
from numpy import recfromtxt
a = recfromtxt('1.csv', skiprows=1, usecols=0, delimiter=',')
print a^我得到的是第一列的清单2 2 2 6 7
我需要的是导出2列
2-3
6-1
7-1
发布于 2013-10-16 22:26:46
你看过这里吗?
https://pypi.python.org/pypi/pivottable
否则,在您的示例中,您可能只需使用列表理解:
>>> l = [2,2,2,6,7]
>>> [(i, l.count(i)) for i in set(l)]
[
(2,3),
(6,1),
(7,1)
]甚至是字典的理解,取决于你需要什么:
>>> l = [2,2,2,6,7]
>>> {i:l.count(i) for i in set(l)}
{
2: 3,
6: 1,
7: 1
}编辑(来自@Peter DeGlopper的建议)
另一种更有效的使用collections.Counter的方法(请阅读下面的注释):
>>> from collections import Counter
>>> l = [2,2,2,6,7]
>>> Counter(l)
Counter({2: 3, 6: 1, 7: 1})https://stackoverflow.com/questions/19414880
复制相似问题