将序列转换为数组

时间:2019-07-05 12:32:30

标签: python pandas

我只是在使用餐厅的数据集,并且使用count_values()计算了不同餐厅的位置值,现在我需要将其提取为数组形式 我的代码:

location_to_keep = dataset['location'].value_counts()

print(location_to_keep)

output:
BTM                           2181
Koramangala 5th Block         1987
Indiranagar                   1394
HSR                           1329
Jayanagar                     1281
JP Nagar                      1163
Whitefield                     916
Koramangala 7th Block          838
Koramangala 6th Block          813
Marathahalli                   762
Koramangala 4th Block          706
Brigade Road                   699
MG Road                        641
Bannerghatta Road              609
Ulsoor                         597
Koramangala 1st Block          568
Bellandur                      542
Sarjapur Road                  534
Kalyan Nagar                   532
Banashankari                   480
Residency Road                 465
Church Street                  464
Richmond Road                  457
Malleshwaram                   454
Lavelle Road                   437
Basavanagudi                   416
Electronic City                386
Cunningham Road                383
New BEL Road                   338
Frazer Town                    33

是否需要以餐厅名称的数组形式提取此内容? 一些回复很快。...

1 个答案:

答案 0 :(得分:0)

我认为@Quang Hoang正确,list(location_to_keep.index)应该可以解决您的问题。为了完整起见,这里是一个最小的可重现示例。

import pandas as pd
import numpy as np
dataset = pd.DataFrame()
locations = ['A', 'B', 'C', 'D']
dataset['location'] = np.random.choice(locations, 1000)

通过使用value_counts,我们应该获得如下所示的内容。

In [1]: location_to_keep = dataset['location'].value_counts()
        print(location_to_keep)
Out[1]: B    272
        C    259
        D    247
        A    222
        Name: location, dtype: int64

然后,您可以使用index获取名称,并使用values获取计数。

In [2]: list(location_to_keep.values)
Out[2]: [272, 259, 247, 222]

In [3]: list(location_to_keep.index)
Out[3]: ['B', 'C', 'D', 'A']
相关问题