Python 在Pandas中,如何获取包含列表的序列的值_counts()

Python 在Pandas中,如何获取包含列表的序列的值_counts(),python,pandas,Python,Pandas,我有一个pandas系列df.files,看起来像这样: In [79]: df.files Out[79]: 0 [{'url': 'http://www.apkmirror.com/wp-content/... 1 [{'url': 'http://www.apkmirror.com/wp-content/... 2 [{'url': 'http://www.apkmirror.com/wp-content/... 3 [{'url':

我有一个
pandas
系列
df.files
,看起来像这样:

In [79]: df.files
Out[79]:
0        [{'url': 'http://www.apkmirror.com/wp-content/...
1        [{'url': 'http://www.apkmirror.com/wp-content/...
2        [{'url': 'http://www.apkmirror.com/wp-content/...
3        [{'url': 'http://www.apkmirror.com/wp-content/...
4        [{'url': 'http://www.apkmirror.com/wp-content/...
5        [{'url': 'http://www.apkmirror.com/wp-content/...
6        [{'url': 'http://www.apkmirror.com/wp-content/...
7        [{'url': 'http://www.apkmirror.com/wp-content/...
8        [{'url': 'http://www.apkmirror.com/wp-content/...
9        [{'url': 'http://www.apkmirror.com/wp-content/...
10       [{'url': 'http://www.apkmirror.com/wp-content/...
11       [{'url': 'http://www.apkmirror.com/wp-content/...
12       [{'url': 'http://www.apkmirror.com/wp-content/...
13       [{'url': 'http://www.apkmirror.com/wp-content/...
14       [{'url': 'http://www.apkmirror.com/wp-content/...
15       [{'url': 'http://www.apkmirror.com/wp-content/...
16       [{'url': 'http://www.apkmirror.com/wp-content/...
17       [{'url': 'http://www.apkmirror.com/wp-content/...
18       [{'url': 'http://www.apkmirror.com/wp-content/...
19       [{'url': 'http://www.apkmirror.com/wp-content/...
20       [{'url': 'http://www.apkmirror.com/wp-content/...
21       [{'url': 'http://www.apkmirror.com/wp-content/...
22       [{'url': 'http://www.apkmirror.com/wp-content/...
23       [{'url': 'http://www.apkmirror.com/wp-content/...
24       [{'url': 'http://www.apkmirror.com/wp-content/...
25       [{'url': 'http://www.apkmirror.com/wp-content/...
26       [{'url': 'http://www.apkmirror.com/wp-content/...
27       [{'url': 'http://www.apkmirror.com/wp-content/...
28       [{'url': 'http://www.apkmirror.com/wp-content/...
29       [{'url': 'http://www.apkmirror.com/wp-content/...
                               ...                        
16487    [{'url': 'http://www.apkmirror.com/wp-content/...
16488                                                   []
16489    [{'url': 'http://www.apkmirror.com/wp-content/...
16490    [{'url': 'http://www.apkmirror.com/wp-content/...
16491                                                   []
16492    [{'url': 'http://www.apkmirror.com/wp-content/...
16493    [{'url': 'http://www.apkmirror.com/wp-content/...
16494    [{'url': 'http://www.apkmirror.com/wp-content/...
16495                                                   []
16496                                                   []
16497                                                   []
16498    [{'url': 'http://www.apkmirror.com/wp-content/...
16499    [{'url': 'http://www.apkmirror.com/wp-content/...
16500    [{'url': 'http://www.apkmirror.com/wp-content/...
16501    [{'url': 'http://www.apkmirror.com/wp-content/...
16502    [{'url': 'http://www.apkmirror.com/wp-content/...
16503                                                   []
16504                                                   []
16505                                                   []
16506                                                   []
16507                                                   []
16508                                                   []
16509                                                   []
16510                                                   []
16511                                                   []
16512                                                   []
16513                                                   []
16514                                                   []
16515                                                   []
16516                                                   []
一些值是空列表,而其他值是包含一个字典的列表,格式类似于以下内容:

In [80]: df.files.loc[0]
Out[80]: 
[{'checksum': '9f6075f4c561792e48354277b46a6810',
  'path': 'full/80832b9fca82ce0f58f4d23c511e5a1d657c40e8.php?id=2968',
  'url': 'http://www.apkmirror.com/wp-content/themes/APKMirror/download.php?id=2968'}]

我想知道
df.files
中有多少条目实际上是空列表。但是,如果我尝试
df.files.value\u counts()
,我会得到一个
TypeError:unhabable type:'list'
。我该如何解决这个问题呢?

如果需要,您可以先转换为
元组

但如果只需要空
列表的
长度
用于计数
列表
,则
求和
布尔掩码的所有
为真
s:

l = (df['files'].str.len() == 0).sum()
如果没有
NaN
s值,则可以使用:


如果要查找空列表,为什么要使用值计数

len([i for i in df.files if len(i) == 0])

您也可以编写for循环来遍历列表:

for i in df.files:
    count = 0
    if len(i) == 0:
        count = count + 1
    else:
        pass

或者
(df['files'].apply(len)==0.sum()
(可能更快)@你说得对。以前从没用过。现在我定义了。willhm,
df['files'].str.len()
可能更快(见其他答案)
len([i for i in df.files if len(i) == 0])
for i in df.files:
    count = 0
    if len(i) == 0:
        count = count + 1
    else:
        pass