小编rpa*_*nai的帖子

如何在 Plotly 中制作多面图并拥有自己的 YAxes 刻度标签?

当我使用 Plotly Express 绘制不同范围的不同参数时 - 在下面的示例中,BloodPressureHigh、Height(cm)、Weight(kg) 和 BloodPressureLow - 使用参数facet_col,我无法获得结果图来显示唯一的 YTicks对于每个多面图。是否有一种简单的方法可以让fig对象在生成的多面图中显示每组 YTick?否则,正如您在结果图像中看到的那样,不清楚每个箱线图是否位于其自己唯一的 Y 轴上。

import plotly.express as px
import pandas as pd

temp = [
    {"Clinic": "A", "Subject": "Bill", "Height(cm)": 182, "Weight(kg)": 101, "BloodPressureHigh": 128, "BloodPressureLow": 90},
    {"Clinic": "A", "Subject": "Susie", "Height(cm)": 142, "Weight(kg)": 67, "BloodPressureHigh": 120, "BloodPressureLow": 70},
    {"Clinic": "B", "Subject": "John", "Height(cm)": 202, "Weight(kg)": 89, "BloodPressureHigh": 118, "BloodPressureLow": 85},
    {"Clinic": "B", "Subject": "Stacy", "Height(cm)": 156, "Weight(kg)": 78, "BloodPressureHigh": 114, "BloodPressureLow": 76},
    {"Clinic": "B", "Subject": …
Run Code Online (Sandbox Code Playgroud)

python pandas plotly plotly-express

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

导入环境OpenAI Gym出错

我正在尝试运行 OpenAI Gym 环境,但出现以下错误:

import gym
env = gym.make('Breakout-v0')
Run Code Online (Sandbox Code Playgroud)

错误

/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/ale_py/gym/environment.py:11: DeprecationWarning: Importing atari-py roms won't be supported in future releases of ale-py.
  import ale_py.roms as roms
A.L.E: Arcade Learning Environment (version +a54a328)
[Powered by Stella]
Traceback (most recent call last):
  File "/Users/username/Desktop/OpenAI Gym Stuff/OpenAI_Exp.py", line 2, in <module>
    env = gym.make('Breakout-v0')
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/gym/envs/registration.py", line 200, in make
    return registry.make(id, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/gym/envs/registration.py", line 105, in make
    env = spec.make(**kwargs)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/gym/envs/registration.py", line 75, in make
    env = cls(**_kwargs)
  File …
Run Code Online (Sandbox Code Playgroud)

python openai-gym

18
推荐指数
3
解决办法
6万
查看次数

CV2:尝试拍照时“[WARN:0] 终止异步回调”

我正在尝试使用 python 从默认的 carmera 拍照,为此我使用 openCV(import cv2来自 python shell)。但是,当我尝试禁用相机时,它会关闭但出现错误[ WARN:0] terminating async callback

这是我试图运行的代码:

import cv2

camera_port = 0
camera = cv2.VideoCapture(camera_port)
return_value, image = camera.read()
cv2.imwrite("image.png", image)

camera.release() # Error is here
Run Code Online (Sandbox Code Playgroud)

代码输出所需的结果 - 它需要保存图像,但我不明白为什么会出现错误消息或如何删除它

python image cv2

15
推荐指数
3
解决办法
5万
查看次数

检查dataframe列中的重复值

有没有办法检查数据帧列是否具有重复值而不丢弃行?我有一个将删除重复行的函数,但是,如果特定列中实际存在重复项,我只希望它运行.

目前,我将列中唯一值的数量与行数进行比较:如果唯一值少于行,则存在重复值并运行代码.

 if len(df['Student'].unique()) < len(df.index):
    # Code to remove duplicates based on Date column runs
Run Code Online (Sandbox Code Playgroud)

是否有更简单或更有效的方法使用pandas检查特定列中是否存在重复值?

我正在使用的一些示例数据(仅显示了两列).如果找到重复项,则另一个函数标识要保留的行(具有最早日期的行):

    Student Date
0   Joe     December 2017
1   James   January 2018
2   Bob     April 2018
3   Joe     December 2017
4   Jack    February 2018
5   Jack    March 2018
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

12
推荐指数
3
解决办法
2万
查看次数

连接dask数据帧和pandas数据帧

我有一个dask数据帧(df),大约有2.5亿行(来自一个10Gb的CSV文件).我有另外ndf25,000行的pandas dataframe().我想通过重复每个项目10,000次,将第一列pandas数据帧添加到dask数据帧.

这是我试过的代码.我已将问题缩小到更小的尺寸.

import dask.dataframe as dd
import pandas as pd
import numpy as np

pd.DataFrame(np.random.rand(25000, 2)).to_csv("tempfile.csv")
df = dd.read_csv("tempfile.csv")
ndf = pd.DataFrame(np.random.randint(1000, 3500, size=2500))
df['Node'] = np.repeat(ndf[0], 10)
Run Code Online (Sandbox Code Playgroud)

使用此代码,我最终得到一个错误.

ValueError:并非所有分区都已知,无法对齐分区.请用于set_index设置索引.

我可以执行a reset_index()后跟a set_index()df.known_divisions True生成dask数据帧.但这是一项耗时的操作.有没有更好的方法来做我想做的事情?我可以用熊猫本身做到这一点吗?

最终目标是从ndf任何相应行的位置查找df与某些条件匹配的行.

python dataframe pandas dask

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

使用Pandas,如何删除每个组的最后一行?

我有一个数据帧,如下所示:

import pandas as pd
df = pd.DataFrame({'A': ['one', 'one', 'two', 'three', 'three', 'one'], 'B': range(6)})
grouped = df.groupby('A')
print grouped.head()

             A  B
A                
one   0    one  0
      1    one  1
      5    one  5
three 3  three  3
      4  three  4
two   2    two  2
Run Code Online (Sandbox Code Playgroud)

我可以通过以下方式轻松选择每个组的最后几行:

print(grouped.agg(lambda x: x.iloc[-1]))

      B
A       
one    5
three  4
two    2
Run Code Online (Sandbox Code Playgroud)

如何删除每个组的最后一行?结果将是:

       A  B
0    one  0
1    one  1
3  three  3
Run Code Online (Sandbox Code Playgroud)

我尝试过滤但似乎没有做任何事情:

print grouped.filter(lambda x: x.iloc[-1])

       A  B
0    one  0
1 …
Run Code Online (Sandbox Code Playgroud)

python pandas

10
推荐指数
2
解决办法
3842
查看次数

编写JSON时如何防止循环循环的pythonic方法是什么?

我有两个类A和B,每个类在列表中存储对另一个类的对象的引用

class A:
    def __init__(self,name):
        self.name = name
        self.my_Bs = []
    def registerB(self,b):
        self.my_Bs.append(b)

class B:
    def __init__(self,name):
        self.name = name
        self.my_As = []
    def registerA(self,a):
        self.my_As.append(a)
Run Code Online (Sandbox Code Playgroud)

现在,我的应用程序将构建两个列表,一个具有A的对象,一个B的对象,并且具有交叉引用。

# a list of As, a list of Bs
list_of_As = [A('firstA'), A('secondA')]
list_of_Bs = [B('firstB'), B('secondB')]
# example of one cross-reference
list_of_As[0].registerB(list_of_Bs[1])
list_of_Bs[1].registerA(list_of_As[0])
Run Code Online (Sandbox Code Playgroud)

很显然,如果我叫json.dumps()任上list_of_...,我得到一个循环引用错误。

我想要解决这个问题的方法是转储带有元素name属性列表而不是对象本身列表的JSON :

# This is what I want to obtain for
# the …
Run Code Online (Sandbox Code Playgroud)

python serialization json

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

如何限制python上的用户输入长度?

amt = float(input("Please enter the amount to make change for: $"))
Run Code Online (Sandbox Code Playgroud)

我希望用户以美元输入金额,因此允许5个字符(00.00)有没有办法限制它,所以它不允许他们输入超过5个字符?

我不想要这样的东西,它允许你输入超过5但会循环.

while True:
amt = input("Please enter the amount to make change for: $")
if len(amt) <= 5:
        print("$" + amt)
        break
Run Code Online (Sandbox Code Playgroud)

我希望完全限制输入超过5个字符

python

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

如何在 Python Dash 中的两个 dcc 组件之间留出空间?

Dash 中  (空格)的 HTML 等价物是什么?

html.Div(
    [
      dcc.Input(),
      <add horizontal space here> 
      dcc.Input()
    ]
)
Run Code Online (Sandbox Code Playgroud)

python plotly plotly-dash plotly-python

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

Weasyprint 在调用 write_pdf 时获得未定义的属性:“AttributeError:‘PosixPath’对象没有属性‘read_text’”

我正在 ubuntu 18.04 上运行 weasyprint 项目,并尝试创建 aa pdf。

当我尝试设置页脚图像时,问题就开始了。我正在 python 3.6.7 上运行

这是我调用 weasyprint 的代码:

import sys
import os
from weasyprint import HTML, CSS

htmlFile = sys.argv[1]
pdfFile = sys.argv[2]

html = HTML(filename=htmlFile)

css = CSS(string='@page { @bottom-center { width: 125%; margin-top: 10px; content: " "; background-image: url(file://' + os.getcwd() + '/pdf/footer.png); background-repeat: no-repeat; background-position: right;  background-size: 100%; } }')

html.write_pdf(pdfFile, stylesheets=[css])
Run Code Online (Sandbox Code Playgroud)

但后来我收到以下错误:

Error: Command failed: python3 /node_modules/my-project/python/run.py /node_modules/my-project/pdf/catalog_01e299a3-1fca-482b-a512-e1bea832559f.html /node_modules/my-project/pdf/catalog_01e299a3-1fca-482b-a512-e1bea832559f.pdf
Traceback (most recent call last):
File "/node_modules/my-project/python/run.py", line 3, in …
Run Code Online (Sandbox Code Playgroud)

python cairo weasyprint ubuntu-18.04

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