小编Jon*_*han的帖子

如何在Haskell中过滤列表?

我是Haskell的初学者,所以请提前道歉.

我正在<a name="value-to-extract">使用HXT和haskell 解析一些HTML值().我可以a name="" name使用这个得到一个值列表:

anames <- runX $ parseHtml contents >>> css "a" >>> getAttrValue "name"
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

print anames
Run Code Online (Sandbox Code Playgroud)

然后它打印此列表:

["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","2H_4_0001","2HCH0001","2HCH0002","2HCH0003","2HCH0004","2HCH0005","2HCH0006","2HCH0007","2HCH0008","2HCH0009","2HCH0010","2HCH0011","2HCH0012","2HCH0013","2HCH0014","2HCH0015","2HCH0016","2HCH0017","2HCH0018","2HCH0019","2HCH0020","2HCH0021","2HCH0022","2HCH0023","2HCH0024","2HCH0025","2HCH0026","2HCH0027","2HCH0028","2HCH0029","2HCH0030","2HCH0031","2H_4_0033"]

现在我想删除所有条目"".

所以我试试

nonEmptyANames <- filter (\s -> s /= "") anames
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

• Couldn't match type ‘[]’ with ‘IO’
  Expected type: IO String
    Actual type: [String]
• In a stmt of a 'do' block:
    nonEmptyANames <- filter (\ s -> s /= "") anames
Run Code Online (Sandbox Code Playgroud)

我认为这是打字问题,所以我尝试:

putStrLn ("type of aname …
Run Code Online (Sandbox Code Playgroud)

haskell

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

如何从字节制作一个numpy ndarray?

我可以使用以下方法将numpy ndarray转换为字节:myndarray.tobytes()如何将其返回到ndarray?

使用.tobytes()方法文档中的示例:

>>> x = np.array([[0, 1], [2, 3]])
>>> bytes = x.tobytes()
>>> bytes
b'\x00\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00'

>>> np.some_magic_function_here(bytes)
array([[0, 1], [2, 3]])
Run Code Online (Sandbox Code Playgroud)

python numpy

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

如何在Haskell中编写函数?

好的,所以这真的很愚蠢,但我不明白如何在Haskell中编写主要do区域之外的函数.我有这个脚本读取文件,找到该文件中的单词的位置,然后将结果分成10个分档:

{-# LANGUAGE OverloadedStrings #-}
import Data.Text as T
import Data.Text.Internal.Search
import qualified Data.Vector as V
import qualified Data.Text.IO as TIO
import Statistics.Sample.Histogram

main :: IO ()
main = do
  rawText <- TIO.readFile "jane-eyre.asciidoc"
  let locations = indices "morning" rawText
      vec =  V.fromList $ Prelude.map fromIntegral locations
      (_, sizes) = histogram 10 vec
      histSizes = V.toList sizes
  print histSizes
Run Code Online (Sandbox Code Playgroud)

这很好用.但是现在当我尝试将一些东西抽象成函数时我不能.我尝试将第一个rawText放入自己的函数中,例如:

{-# LANGUAGE OverloadedStrings #-}
import Data.Text as T
import Data.Text.Internal.Search
import qualified Data.Vector as V
import qualified Data.Text.IO …
Run Code Online (Sandbox Code Playgroud)

haskell

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

有没有一种简单的方法来随机化给定文本中的所有单词?也许在BASH?

我想随机化给定文本中的所有单词,以便我可以输入一个英文文件

"The quick brown fox jumped over the lazy dogs." 
Run Code Online (Sandbox Code Playgroud)

并输出:

"fox jumped lazy brown The over the dogs. quick"    
Run Code Online (Sandbox Code Playgroud)

我能想到的最简单的方法是将文本导入python,将其放入一个数字序列作为键的字典中,然后将这些数字随机化并获得输出.是否有一种更简单的方法可以从命令行执行此操作,这样我就不必进行太多编程了?

python bash

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

在Jupyter中,我如何默认使用matplotlib ggplot样式?

在jupyter笔记本中,我可以跑

plt.style.use('ggplot')
Run Code Online (Sandbox Code Playgroud)

这允许我使用ggplot样式绘制图表.如何将此默认值设置为某个配置文件?

python matplotlib jupyter

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

如何标记 Pandas DataFrame 的列和行?

我正在尝试制作这样的数据框:

桌子

这是我到目前为止所拥有的:

labels = ['Rain', 'No Rain']
pd.DataFrame([[27, 63],[7, 268]], columns=labels, index=labels)
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

在此输入图像描述

但这不会创建父类别。如何将列标记为“实际天气”并将行标记为“预测”?

python pandas

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

如何安装d3js Haskell包?

我只想尝试Haskell d3js包.这是我试过的:

stack install d3js
Run Code Online (Sandbox Code Playgroud)

但它给出了错误:

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for d3js-0.1.0.0:
    base-4.9.1.0 must match >=4.6 && <4.7 (latest applicable is 4.6.0.1)
Run Code Online (Sandbox Code Playgroud)

我试过stack install base-4.6.0.1,它没有输出任何东西,但完成没有错误,但我尝试时仍然得到相同的错误stack install d3js.

我也尝试过使用cabal:

$ cabal install d3js                         

Resolving dependencies...
cabal: Could not resolve dependencies:
trying: d3js-0.1.0.0 (user goal)
next goal: base (dependency of d3js-0.1.0.0)
rejecting: base-4.9.1.0/installed-4.9... (conflict: d3js => base>=4.6 && <4.7)
rejecting: base-4.10.0.0, base-4.9.1.0, base-4.9.0.0, base-4.8.2.0,
base-4.8.1.0, base-4.8.0.0, base-4.7.0.2, …
Run Code Online (Sandbox Code Playgroud)

haskell d3.js haskell-stack

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

如何编写Haskell函数来查询数据库?

所以我正在尝试在Haskell中编写一个数据库层,以与SQLite DB进行交互.我在关于数据库的章节中遵循了Real World Haskell一书中的指示.这是我到目前为止:

{-# LANGUAGE FlexibleContexts #-}

import Database.HDBC
import Database.HDBC.Sqlite3

db = "dev.db"
conn = connectSqlite3 db

getPerson person =
  quickQuery' conn "select name from person where name like ?" [toSql person]

main :: IO ()
main = do
  print $ getPerson "Michael"
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

Could not deduce (IConnection (IO Connection))
     arising from a use of ‘quickQuery'’
   from the context: convertible-1.1.1.0:Data.Convertible.Base.Convertible
                       a SqlValue
     bound by the inferred type of
              getPerson :: convertible-1.1.1.0:Data.Convertible.Base.Convertible
                             a SqlValue =>
                           a -> IO [[SqlValue]] …
Run Code Online (Sandbox Code Playgroud)

sqlite haskell

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

如何在Haskell中搜索某些文本?

我如何从Python中执行Haskell等效操作?

>>> "this is a test".find("test")
10
Run Code Online (Sandbox Code Playgroud)

编辑:基本上我有一些文字,例如:"这是一个测试".现在我有一个我想在该文本中找到的字符串,例如:"test".如何在"这是一个测试"中找到"测试"的字符偏移?

string haskell

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

如何在 Haskell 中总结元组列表?

这是一个超级简单的问题,但我似乎找不到答案。假设我在 Haskell 中有一个元组列表,

myList = [("foo", 2), ("bar", 4), ("foo", 6), ("bar", 1)]
Run Code Online (Sandbox Code Playgroud)

我想按第一个元素对它们进行分组,然后在第二个元素上将它们相加,我该怎么做?

这个例子将输出 [("foo", 8), ("bar", 5)]

haskell

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

标签 统计

haskell ×6

python ×4

bash ×1

d3.js ×1

haskell-stack ×1

jupyter ×1

matplotlib ×1

numpy ×1

pandas ×1

sqlite ×1

string ×1