我正在尝试加载一个代表带有numpy loadtxt的2D矩阵的文件
cov = np.loadtxt("cov.csv")
Run Code Online (Sandbox Code Playgroud)
第一个要素是科学记数法导致失败
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-80-0796abd8c0f7> in <module>()
----> 1 cov = np.loadtxt("cov.csv")
C:\home\Anaconda3\lib\site-packages\numpy\lib\npyio.py in loadtxt(fname, dtype, comments, delimiter, converters, skiprows, usecols, unpack, ndmin)
858
859 # Convert each value according to its column and store
--> 860 items = [conv(val) for (conv, val) in zip(converters, vals)]
861 # Then pack it according to the dtype's nesting
862 items = pack_items(items, packing)
C:\home\Anaconda3\lib\site-packages\numpy\lib\npyio.py in <listcomp>(.0)
858
859 # Convert each value according …Run Code Online (Sandbox Code Playgroud) 我想产生以下输出:
> Avril Stewart 99 54
> Sally Kinghorn 170 60
> John Young 195 120
> Yutte Schim... 250 40
Run Code Online (Sandbox Code Playgroud)
如您所见,短于14个字符的名称将用空格填充.截断超过15个字符的名称:'Yutte Schimmelpenninck'截断为'Yutte Schim ......'.
以下是我试图做到这一点(变量$name,$height以及$weight从文件中提取,并运行一个循环的printf每个文件数据的命令):
printf '%-14s -%3s -%3s\n' "$name" "$height" "$weight"
> Avril Stewart 99 54
> Sally Kinghorn 170 60
> John Young 195 120
> Yutte Schimmelpenninck 250 40
Run Code Online (Sandbox Code Playgroud)
甲printf单行是所希望的解决方案.
什么代码会产生第一个输出块?
所以我制作了一个应该进行霍夫曼编码的程序.将我的答案与正确答案进行比较时,并非所有答案都匹配.
我有
[("a","0"),("c","100"),("b","101"),("d","110"),("f","1110"),("e","1111")]
Run Code Online (Sandbox Code Playgroud)
正确的答案是
[('a',"0"),('b',"101"),('c',"100"),('d',"111"),('e',"1101"),('f',"1100")]
Run Code Online (Sandbox Code Playgroud)
然而我的方法给了我一点点改变.在分支30上,我使用0来到D而不是1.
所以这让我想知道,这两个答案都是正确的吗?毕竟他们都有相同的字符串长度.
如果我错了,有人可以解释原因吗?
如果有人想要它,我的代码是在下面的Haskell中编写的
mergHufffman::(String,Int) -> (String,Int) -> (String,Int)
mergHufffman x y = (fst x ++ fst y, snd x + snd y)
data HTree a = Leaf a | Branch (HTree a) (HTree a) deriving Show
treeHuff::[(String,Int)] -> HTree (String,Int)
treeHuff (x:[]) = Leaf x
treeHuff (x:y:[])
| snd x < snd y = Branch (Leaf x) (Leaf y)
| snd x > snd y = Branch (Leaf y) (Leaf x)
treeHuff (x:y:z:list) …Run Code Online (Sandbox Code Playgroud) 你好Sed/Bash/Awk专家,
我有一个充满日期的文件,格式如下:
Feb 5 2015
Nov 25 2014
Apr 16 2015
Run Code Online (Sandbox Code Playgroud)
我想要的是将它们转换为这种格式:
YYYY-MM-DD
Run Code Online (Sandbox Code Playgroud)
所以他们应该是这样的:
2015-02-05
2014-11-25
2015-04-16
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
给出一个包含这样内容的文件:
foo: 8.3.1
bar: 803001
Run Code Online (Sandbox Code Playgroud)
我需要一个bash脚本来读取这个文件只增加最后一个数字,并考虑第二行的最后三位数作为xyx中z的空间增长到三位数(并用新数据覆盖原始文件:
输入1:
foo: 8.3.1
bar: 803001
Run Code Online (Sandbox Code Playgroud)
输出1:
foo: 8.3.2
bar: 803002
Run Code Online (Sandbox Code Playgroud)
输入2:
foo: 8.3.9
bar: 803009
Run Code Online (Sandbox Code Playgroud)
输出2:
foo: 8.3.10
bar: 803010
Run Code Online (Sandbox Code Playgroud)
输入3:
foo: 8.3.199
bar: 803199
Run Code Online (Sandbox Code Playgroud)
输出3:
foo: 8.3.200
bar: 803200
Run Code Online (Sandbox Code Playgroud)
我可以在2秒内在java中执行此操作,但我需要在shell脚本中执行此操作,否则我将面临构建团队无休止的嘲弄.
没有一些粗略的字符串拆分任何光滑的sep命令将是一个很大的帮助!
有没有一种简单的方法可以从对列表中找到最大元素?基于列表构造(这些对应于坐标),存在明确定义的最大值{x_max,y_max}.例如,我正在寻找一个功能MaxElement
MaxElement[{{0, 0}, {0, 1}, {1, 1}, {1, 0}}]
Run Code Online (Sandbox Code Playgroud)
将返回 {1,1}
我有一个元素列表(Int, Int, Int).
如何仅按第一个元素对此列表进行排序?
我可以处理成对,但有三个元素我有问题
filter1 :: (a -> Bool) -> [a] -> [a]
filter1 p = concat.map box
where box x
| p x = [x]
| otherwise = []
Run Code Online (Sandbox Code Playgroud)
我不明白这个解决方案.map将box应用于列表的所有元素,如果px == True,它将元素放在单个元素的列表中,然后concat取消所有内容?concat在最后还是一个一个地统一一切?
谢谢!我希望有人理解这一点