Co APL výraz nejlepší emuluje příkaz SQL select, vzhledem k tomu, matrix

0

Otázka

Mám CSV soubory s číselná data a chtěl bych provést analýzu na tato data. Já jsem doufal, že pomocí APL mi dá větší flexibilitu než čtení tohoto do mysql a provádění vybere. Ale pro začátek bych chtěl dělat jednoduché extrakce jako 'select * from mydata kde sloupec1 = 2020'. Zatím jsem pochopil, že ti můžu použít Obklad. Ale na to potřebuji vědět výraz, který by přinášel boolean pole na levé argument obklad (tj. APL verze ', kde col1 = 2020'). On-line vyhledávání nedostal nikam mě v tomto oddělení.

apl boolean dyalog filter
2021-11-23 07:45:51
1

Nejlepší odpověď

0

Máte skutečně pravdu, v vaše spekulace.

"col1 = 2020" by mydata[;1] = 2020 takže celá věc je (mydata[;1] = 2020) ⌿ mydata

Můj otec měl rád definovat

∇ data ← data where condition
  data ← condition⌿data
∇

aby mohl psát věci jako data where data[;1] = 2020

Využití Dyalog APL funkce

Dyalog APL poskytuje některé notační jemnosti:

  • Inline výraz může být zapsán jako mydata ⌿⍨ mydata[;1] = 2020
  • Výše uvedené definice where může být zapsán jednoduše jako where ← ⌿⍨
2021-11-23 09:13:50

Vidím. Pěkné! Zvědavý: existuje způsob, jak se vyhnout opakování mydata odkaz?
Rudi Angela

@RudiAngela Existuje mnoho variant možné, a to zejména pokud začnete definovat operátory. E. g. select ← {⍵ ⌿⍨ ⍺⍺ ⍵} ⋄ col ← ⌷⍤1⍨ umožňuje psát (2020=col∘1)select mydata nebo můžete definovat col ← {⍵ ⌿⍨ ⍺ ⍺⍺ ⍵[;⍵⍵]} ⋄ in←⊢ a psát 2020 = col 1 in mydata
Adám

@RudiAngela neváhejte a navštivte apl.chat diskutovat dále.
Adám

Bude dělat. Díky za tip.
Rudi Angela

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................