我ValueError: No dataset in HDF5 file.在使用时得到一个:
In [1]: import pandas as pda
In [2]: store = pda.read_hdf('X.h5')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-1-72e9d80a2c5b> in <module>()
----> 1 store = pda.read_hdf('X.h5')
/usr/local/miniconda3/envs/tensorFlow-GPU/lib/python3.6/site-packages/pandas/io/pytables.py in read_hdf(path_or_buf, key, mode, **kwargs)
356 groups = store.groups()
357 if len(groups) == 0:
--> 358 raise ValueError('No dataset in HDF5 file.')
359 candidate_only_group = groups[0]
360
ValueError: No dataset in HDF5 file.
Run Code Online (Sandbox Code Playgroud)
h5dump 显示:
$ h5dump -n X.h5
HDF5 "X.h5" {
FILE_CONTENTS {
group …Run Code Online (Sandbox Code Playgroud) 我有一个名为dfwhere df.shapeis (53, 80)where 索引和列都存在的 Pandas DataFrame int。
如果我像这样选择第一行,我会得到:
df.loc[0].shape
(80,)
Run Code Online (Sandbox Code Playgroud)
代替 :
(1,80)
Run Code Online (Sandbox Code Playgroud)
但是然后df.loc[0:0].shape或df[0:1].shape两者都显示正确的形状。
我想解析install.rdf内部文件uBlock0.firefox-legacy.xpi文件。
我想要得到的em:id,em:name,em:version,em:description并em:homepageURL从install.rdf这样的文件:
em:id uBlock0@raymondhill.net
em:name uBlock Origin
em:version 1.16.4.10
em:description Finally, an efficient blocker. Easy on CPU and memory.
em:homepageURL https://github.com/gorhill/uBlock
Run Code Online (Sandbox Code Playgroud)
编辑1:xmllint无法解析install.rdf文件:
em:id uBlock0@raymondhill.net
em:name uBlock Origin
em:version 1.16.4.10
em:description Finally, an efficient blocker. Easy on CPU and memory.
em:homepageURL https://github.com/gorhill/uBlock
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点 ?
我uname -s在 bash 脚本中使用来确定操作系统,当它在 Linux、macOS 或 Windows 上运行时,它会返回 Linux、Darwin 或 MINGW64_NT...。
EDIT0 :我希望我的$PROFILE脚本能够检测操作系统是否在带有 PS 的 Windows(版本可能低于 6)或带有 PSv>=6 的 Linux 上运行。
我在 powershell 中找到了这个:
PS> [System.Environment]::OSVersion.Platform
Run Code Online (Sandbox Code Playgroud)
在 Linux 上,它返回Unix,在 64 位 Windows 上,它返回Win32NT.
我没有可用的 macOS(还没有:)),所以我不知道它在 macOS 上实际返回什么。
UnixEDIT1:此方法在 Windows32b 和 Windows64b之间似乎没有区别Linux。
还有哪些其他方法可以检测 powershell 5.1 中的操作系统?
在脚本中,我有一个sh -c涉及的命令,$@但似乎只考虑了的第一项$@:
$ set -- --no-resume-playback https://www.facebook.com/TBN/videos/1580372468665943/
$ echo "$@"
--no-resume-playback https://www.facebook.com/TBN/videos/1580372468665943/
$ sh -c "echo $@"
--no-resume-playback
$ sh -c "echo ${@[*]}"
bash: echo ${@[*]}: bad substitution
Run Code Online (Sandbox Code Playgroud)
编辑1:如果我将$@数组复制到一个变量,它的工作原理:
$ args=("$@")
$ sh -c "echo ${args[*]}"
--no-resume-playback https://www.facebook.com/TBN/videos/1580372468665943/
Run Code Online (Sandbox Code Playgroud)
如何$@在sh -c通话中使用所有参数?
我需要列出现有目录而不将文件列出到其中:
PS C:\Users\myHomeDIR> cat .\toto.txt
.\.config
C:\DA FI
PS C:\Users\myHomeDIR> cat .\toto.txt | dir | % FullName
C:\Users\myHomeDIR\.config\scoop
dir : Cannot find path 'C:\DA FI' because it does not exist.
At line:1 char:18
+ cat .\toto.txt | dir | % FullName
+ ~~~
+ CategoryInfo : ObjectNotFound: (C:\DA FI:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
PS C:\Users\myHomeDIR>
Run Code Online (Sandbox Code Playgroud)
我期望这个输出(就像 LINUXls -d那样):
C:\Users\myHomeDIR\.config
dir : Cannot find path 'C:\DA FI' because it does not exist.
At line:1 char:18
+ cat …Run Code Online (Sandbox Code Playgroud) 我有以下输出:
PS> $PSVersionTable
Name Value
---- -----
CLRVersion 2.0.50727.8806
BuildVersion 6.1.7601.17514
PSVersion 2.0
WSManStackVersion 2.0
PSCompatibleVersions {1.0, 2.0}
SerializationVersion 1.1.0.1
PSRemotingProtocolVersion 2.1
Run Code Online (Sandbox Code Playgroud)
我想将PSVersion像这样的字符串值获取到变量中:2.0
所以我尝试了这个,但这不是我想要的:
PS> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
2 0 -1 -1
Run Code Online (Sandbox Code Playgroud)
和这些命令:
EDIT0:我复制并粘贴了错误的行,但字符串连接仍然不起作用:
PS> $myVariable = $PSVersionTable.PSVersion.Major + "." + $PSVersionTable.PSVersion.Minor
Cannot convert value "." to type "System.Int32". Error: "Input string was not in a correct format."
At line:1 char:48
+ $myVariable = $PSVersionTable.PSVersion.Major + <<<< "." + $PSVersionTable.PSVersion.Minor
+ …Run Code Online (Sandbox Code Playgroud) 这是matlab代码:
A=[1,2,3,4];
B=[5,3];
bitxor(A,B')
Run Code Online (Sandbox Code Playgroud)
它返回:
ans =
4 7 6 1
2 1 0 7
Run Code Online (Sandbox Code Playgroud)
如何在没有循环的情况下使用numpy?