列表与另一列的频率分布 - python

我正在尝试获取列的频率分布,该列是针对类标签的单词列表。

Label                Numbers
0                    [(a,b,c)]
0                    [(d)]
0                    [(e,f,g)]
1                    [(a,z)]
1                    [(d,x,y)]

输出应为:

         0          1
a        1          1
b        1          0
c        1          0
d        1          1
e        1          0
f        1          0        
g        1          0
x        0          1
y        0          1
z        0          1

参考方案

'Numbers'列中的集合列表使得按原样操作DataFrame非常困难(这不是整齐的数据)。解决方案是扩展DataFrame,以便'Numbers'列中只有一个数字,与'Label'列中的一个值相对应。假设您的数据位于名为df的DataFrame中,则以下代码执行该操作:

rows_list = []

for index, row in df.iterrows():
    for element in row['Numbers'][0]:
        dict1 = {}
        dict1.update(key=row['Label'], value=element)
        rows_list.append(dict1)

new_df = pd.DataFrame(rows_list)
new_df.columns = ['Label', 'Numbers']

结果是

  Label Numbers
0     0     a
1     0     b
2     0     c
3     0     d
4     0     e
5     0     f
6     0     g
7     1     a
8     1     z
9     1     d
10    1     x
11    1     y    

现在是一个关键的问题:

print(new_df.pivot_table(index='Numbers', columns='Label', aggfunc=len,
                         fill_value=0))

结果是

Label    0  1
Numbers      
a        1  1
b        1  0
c        1  0
d        1  1
e        1  0
f        1  0
g        1  0
x        0  1
y        0  1
z        0  1

有关最后一行代码,请参见first answer here。

Python-Excel导出 - python

我有以下代码:import pandas as pd import requests from bs4 import BeautifulSoup res = requests.get("https://www.bankier.pl/gielda/notowania/akcje") soup = BeautifulSoup(res.cont…

Python:如何根据另一列元素明智地查找一列中的空单元格计数? - python

df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice','Jane', 'Alice','Bob', 'Alice'], 'income…

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。

如何用'-'解析字符串到节点js本地脚本? - python

我正在使用本地节点js脚本来处理字符串。我陷入了将'-'字符串解析为本地节点js脚本的问题。render.js:#! /usr/bin/env -S node -r esm let argv = require('yargs') .usage('$0 [string]') .argv; console.log(argv…

Python:传递记录器是个好主意吗? - python

我的Web服务器的API日志如下:started started succeeded failed 那是同时收到的两个请求。很难说哪一个成功或失败。为了彼此分离请求,我为每个请求创建了一个随机数,并将其用作记录器的名称logger = logging.getLogger(random_number) 日志变成[111] started [222] start…