分离出value_counts值

时间:2015-12-01 18:23:19

标签: python csv pandas

所以我最初引用this post来启动我。

我能够更改代码以获取我需要的数据,但现在我试图获得JUST数据值。在一天结束时,我将为每列进行大量的值计数(计算唯一值的实例)。首先是csv头,第二个是我目前的代码。

tripduration    starttime   stoptime    start station id    start station name  start station latitude  start station longitude end station id  end station name    end station latitude    end station longitude   bikeid  usertype    birth year  gender

import pandas as pd

df = pd.read_csv("January2015BikeData.csv")
ok=[]
for name,group in df.groupby(["start station id"]):
    ok.append(group["start station id"].value_counts(sort=True))

print(ok)

该代码输出如下内容:

Name: start station id, dtype: int64, 79    566
Name: start station id, dtype: int64, 82    310
Name: start station id, dtype: int64, 83    258

第一个数字是ID,第二个数字是COUNT。有没有办法获得JUST数字(id和count)?这主要是因为我可以将这些数据导出到另一个函数。

2 个答案:

答案 0 :(得分:2)

怎么样

count = df.loc[:, 'start station id'].value_counts()
tuples = [tuple((x, y)) for x, y in count.items()]

答案 1 :(得分:1)

尝试压缩索引和值:

gb = df.groupby('start station id')['start station id'].count()

pairs = zip(gb.index, gb.values)
>>> pairs
[(79, 566), (82, 310), (83, 258)]

>>> ['x: {0}, y: {1}'.format(x, y) for x, y in pairs]
['x: 79, y: 566', 'x: 82, y: 310', 'x: 83, y: 258']