如何在 pycharm 中运行简单的 python vtk 示例?我已经使用 pycharm 安装了 vtk 版本 8.1.2,并且使用 python 版本 3.7.4。另外,我有 Windows 10。
当我运行示例文件时,我得到的是这个而不是 3D 圆柱体。
ERROR: In C:\VPP\standalone-build\VTK-source\Rendering\OpenGL2\vtkWin32OpenGLRenderWindow.cxx, line 685
vtkWin32OpenGLRenderWindow (000001FACEF53880): failed to get wglChoosePixelFormatARB
ERROR: In C:\VPP\standalone-build\VTK-source\Rendering\OpenGL2\vtkWin32OpenGLRenderWindow.cxx, line 769
vtkWin32OpenGLRenderWindow (000001FACEF53880): failed to get valid pixel format.
ERROR: In C:\VPP\standalone-build\VTK-source\Rendering\OpenGL2\vtkOpenGLRenderWindow.cxx, line 785
vtkWin32OpenGLRenderWindow (000001FACEF53880): GLEW could not be initialized.
Run Code Online (Sandbox Code Playgroud)
为了修复此错误,我尝试通过更新图形驱动程序来更新 OpenGL。一切都是最新的。OpenGL Extensions Viewer 6.0 向我展示了这一点:
根据要求,这些是我安装的软件包以及版本号:
另外根据要求,我的系统路径如下所示:(我重新格式化它以更容易阅读)
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;
C:\WINDOWS\system32;
C:\WINDOWS;
C:\WINDOWS\System32\Wbem;
C:\WINDOWS\System32\WindowsPowerShell\v1.0\;
C:\Program Files\PuTTY\;
C:\Program Files\Git\cmd;
C:\WINDOWS\System32\OpenSSH\;
C:\Program Files (x86)\Microsoft …
Run Code Online (Sandbox Code Playgroud) 我需要在不同数字列表中交换max和min.像这样:
示例输入
3 4 5 2 1
Run Code Online (Sandbox Code Playgroud)
示例输出
3 4 1 2 5
Run Code Online (Sandbox Code Playgroud)
我认为使用这将是最有意义的:
a = [3, 4, 5, 2, 1]
a[a.index(max(a))], a[a.index(min(a))] = min(a), max(a)
Run Code Online (Sandbox Code Playgroud)
但是,它似乎适用于一些不同数字的列表,而不是其他列表(包括给定的示例).我不知道为什么.谁能看到这个bug?
(使用python 3)这是我给出的任务:
给定一个数字列表,查找并打印所有大于其左边邻居的元素.
示例输入
1 5 2 4 3
Run Code Online (Sandbox Code Playgroud)
示例输出
5 4
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
# creates a list out of the input given as '# # # # # #...'
a = [int(s) for s in input().split()]
for i in a[1:]: #skips the first since it has no "left neighbor"
if i > a[a.index(i) - 1]: #checks if 'i' is greater than element before 'i'
print(i, end=' ')
Run Code Online (Sandbox Code Playgroud)
我的问题是它适用于我所做的所有测试,除非我给它一个列表a[0] == a[-1]
然后它忽略列表中等于该整数的所有元素.
例如:
3 5 2 3 1 2 3 …
Run Code Online (Sandbox Code Playgroud) 我想在 Pandas DataFrameGroupBy 的同一列上应用两个不同的聚合,并命名新列。
我已经尝试使用文档中显示的内容。 https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html#named-aggregation
Run Code Online (Sandbox Code Playgroud)In [82]: animals.groupby("kind").agg( ....: min_height=('height', 'min'), ....: max_height=('height', 'max'), ....: average_weight=('weight', np.mean), ....: ) ....: Out[82]: min_height max_height average_weight kind cat 9.1 9.5 8.90 dog 6.0 34.0 102.75
我正在尝试做的事情是:
df = pd.DataFrame({"year": [2001, 2001, 2001, 2005, 2005],
"value": [1, 2, 5, 3, 1]})
df = df.groupby("year").agg(sum=('value', 'sum'),
count=('value', 'size'))
Run Code Online (Sandbox Code Playgroud)
但是,这给出了以下内容:
TypeError: aggregate() missing 1 required positional argument: 'arg'
Run Code Online (Sandbox Code Playgroud)