小编Rah*_*wal的帖子

Pandas 数据框中多列的加权平均值

我有一个如下所示的数据框

Class|  Student|    V1| V2| V3| wb

A|      Max|        10| 12| 14| 1

A|      Ann|        9|  6|  7|  0.9

B|      Tom|        6|  7|  10| 0.3

B|      Dick|       3|  8|  7|  0.7

C|      Dibs|       5|  2|  3|  0.8

C|      Mock|       6|  4|  3|  0.6

D|      Sunny|      3|  4|  5|  0.9

D|      Lock|       8|  3|  6|  1
Run Code Online (Sandbox Code Playgroud)

我想计算按类别分组的 V1、V2、V3 的加权平均值,结果应如下所示

Class  V1_M  V2_M V3_M

A   9  8   3

B   5  3   3

C   4  4   3
Run Code Online (Sandbox Code Playgroud)

到目前为止,我可以为每一列分隔数据框。但我感觉效率很低

这是 1 个变量的代码

import pandas …
Run Code Online (Sandbox Code Playgroud)

python pandas

1
推荐指数
1
解决办法
5185
查看次数

捕获两个单词之间的字符串,但仅限第一次

我有这样的字符串:

 text = "Why do Humans need to eat food? Humans eat food to survive."
Run Code Online (Sandbox Code Playgroud)

我想之间捕捉一切Humanfood,但只有第1次.

预期产出

Humans need to eat food
Run Code Online (Sandbox Code Playgroud)

我的正则表达式:

p =r'(\bHumans?\b.*?\bFoods?\b)'
Run Code Online (Sandbox Code Playgroud)

Python代码:

re.findall(p, text, re.I|re.M|re.DOTALL)
Run Code Online (Sandbox Code Playgroud)

代码正确捕获人类和食物之间的字符串,但它不会在第一次捕获时停止.

研究:

我已经读过这个让我不需要贪婪?但是我无法弄清楚应该把它放在哪里让它变得非贪婪.我试过的所有其他排列和组合我都无法在第一场比赛中阻止它.

更新

我正在写很多正则表达式来捕获像这样的各种其他实体并一次解析它们因此我无法改变我的re.findall逻辑.

python regex

1
推荐指数
1
解决办法
68
查看次数

无法恢复已保存的Virtualbox状态

通过迁移助手将笔记本电脑从2核升级到4核处理器后,出现以下错误:

cpum#1:主机不支持X86_CPUID_FEATURE_ECX_MOVBE,但已向来宾[ver = 17 pass = final](VERR_SSM_LOAD_CPUID_MISMATCH)公开。

我该如何解决?

virtualbox cpuid

0
推荐指数
1
解决办法
3169
查看次数

在 Pandas Dataframe 单元格中查找唯一值

样品DF

data = {'name': ['Jason , Jason', 'Molly', 'Tina', 'Jake', 'Amy'], 
        'year': ['2012 , 2012 , 2016 , 2016', 2012, 2013, 2014, 2014], 
        'reports': ['4 , 4 , 5 , 6 , 6 , 7', 24, 31, 2, 3]}
df1 = pd.DataFrame(data, index = ['Cochice', 'Pima', 'Santa Cruz', 'Maricopa', 'Yuma'])
Run Code Online (Sandbox Code Playgroud)

好像

                     name            ...                                   year
Cochice     Jason , Jason            ...              2012 , 2012 , 2016 , 2016
Pima                Molly            ...                                   2012
Santa Cruz           Tina            ...                                   2013
Maricopa             Jake            ...                                   2014 …
Run Code Online (Sandbox Code Playgroud)

unique python-3.x pandas

0
推荐指数
1
解决办法
1239
查看次数

根据要点爆炸一行

我有一个df称为列的列Description,它的值像:

ID   Description
1    (a) this is good (b) bad (c) average
2    Ok
3    i am rahul works on (a) stack overflow (b) stack exchange
Run Code Online (Sandbox Code Playgroud)

预期DF:

 ID      Description
1        (a) this is good
1        (b) bad
1        (c) average
2        Ok
3        i am rahul works on (a) stack overflow
3        (b) stack exchange
Run Code Online (Sandbox Code Playgroud)

我曾见过这样回答这个这个这对分隔爆炸柱基础,但我需要根据要点爆炸。

python regex pandas

0
推荐指数
1
解决办法
43
查看次数

如何将目录/文件夹中的所有pdf文件转换为图像python 3?

如何将目录/文件夹中的所有pdf文件转换为图像python 3?有没有其他选择?

在运行此代码时,我收到一个错误,例如

pdf2image.exceptions.PDFPageCountError:无法获得页数。语法警告:可能不是 PDF 文件(仍然继续)语法错误:找不到预告片字典语法错误:找不到预告片字典语法错误:无法读取外部参照表

我不知道为什么请别人帮助我

from pdf2image import convert_from_path
import glob,os
import os, subprocess

pdf_dir = r"C:\\Users\\xxx\\Desktop\\folder1\\folder2\\"
os.chdir(pdf_dir)

for pdf_file in os.listdir(pdf_dir):
    pages = convert_from_path(pdf_file, 500)
    for page in pages:
        page.save(pdf_file[:-4] +".jpg", 'JPEG')
Run Code Online (Sandbox Code Playgroud)

python pdf image

0
推荐指数
1
解决办法
3412
查看次数

类型错误:write() 参数必须是 str,而不是 int

下面是我的代码

   for a in list(range(1,100)):
        print(a)
    with open("C:/Users/me/Downloads/Documents/lala",mode="w")as f:
        print(f.write(a))
Run Code Online (Sandbox Code Playgroud)

错误是:

 TypeError: write() argument must be str, not int
Run Code Online (Sandbox Code Playgroud)

python

-2
推荐指数
1
解决办法
2万
查看次数

标签 统计

python ×5

pandas ×3

regex ×2

cpuid ×1

image ×1

pdf ×1

python-3.x ×1

unique ×1

virtualbox ×1