首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Pandas中生成数据透视表?Numpy?Xlrd?来自csv

在Pandas中生成数据透视表?Numpy?Xlrd?来自csv
EN

Stack Overflow用户
提问于 2013-10-16 22:12:55
回答 1查看 2.3K关注 0票数 1

我已经搜索了几个小时了,整整一天我都在研究如何用Python生成一个枢轴表。我对蟒蛇很陌生,所以请容忍我。

我想要的是获取一个csv文件,提取第一列,并使用该列中数字的计数或频率生成一个枢轴表,然后排序降序。

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2013-10-16 22:26:46

你看过这里吗?

https://pypi.python.org/pypi/pivottable

否则,在您的示例中,您可能只需使用列表理解:

代码语言:javascript
复制
>>> l = [2,2,2,6,7]
>>> [(i, l.count(i)) for i in set(l)]

[
    (2,3),
    (6,1),
    (7,1)
]

甚至是字典的理解,取决于你需要什么:

代码语言:javascript
复制
>>> 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的方法(请阅读下面的注释):

代码语言:javascript
复制
>>> from collections import Counter
>>> l = [2,2,2,6,7]
>>> Counter(l)

Counter({2: 3, 6: 1, 7: 1})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19414880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档