Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
研鑽Rubyプログラミング読書会
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hirokazu SUZUKI
November 17, 2023
90
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
研鑽Rubyプログラミング読書会
研鑽Rubyプログラミング7章の関連資料です。
Hirokazu SUZUKI
November 17, 2023
More Decks by Hirokazu SUZUKI
See All by Hirokazu SUZUKI
冒険の続き ~ RedAmber ~ A DataFrame Library in Ruby
heronshoes
0
720
すごい広島.rb with Python[74] Hirokazu SUZUKI
heronshoes
0
120
The Adventure of RedAmber - A data frame library in Ruby
heronshoes
0
3.8k
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Designing for Timeless Needs
cassininazir
1
470
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Git: the NoSQL Database
bkeepers
PRO
432
67k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
4 Signs Your Business is Dying
shpigford
187
23k
Typedesign – Prime Four
hannesfritz
42
3.2k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
GraphQLとの向き合い方2022年版
quramy
50
15k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Transcript
7.3 7.3.1 - メソッドの数が多い - 単純 - 柔軟性は低い 7.3.2 -
メソッドの数が少ない - 複雑 - 柔軟性は高い a.inner_join(b, key) a.full_join(b, key) a.left_join(b, key) etc. 実装は、#joinを呼んでいる 拙作 RedAmberでは、こんな例がある データフレーム同士を結合するメソッド群で、両方とも使っている(他言語の流儀に合わせるため) a.join(b, key, type: :inner_join) :typeは、:inner, :fullなど結合のタイプを指定する ソース: https://github.com/red-data-tools/red_amber/blob/main/lib/red_amber/data_frame_combinable.rb #joinの実装は、Red ArrowのTable#joinを呼びながら データフレーム独自の仕様に基づいて色々やっている
https://gist.github.com/heronshoes/d301bfd58adfbf51e28584bf2e68c190
RedAmber Features RedAmber (Ruby) Tidyverse (R) pandas (Python) DataFrames.jl (Julia)
一致した行だけを連結 (内部結合) inner_join, join dplyr::inner_join merge innerjoin 全ての行を連結 (外部結合) full_join, outer_join, join dplyr::full_join merge outerjoin 左の一致した値を残して連結 (左外部結合) left_join, join dplyr::left_join merge leftjoin 右の一致した値を残して連結 (右外部結合) right_join, join dplyr::right_join merge rightjoin 左の行のうち、右と一致したものを残す semi_join, join dplyr::semi_join [isin] semijoin 左の行のうち、右と一致しなかったもの を残す anti_join, join dplyr::anti_join [isin] antijoin 左右どちらかにある行を残す(和) union dplyr::union merge 左右両方にある行を残す(積) intersect dplyr::intersect merge 左にはあるが右にない行を残す(差) difference, setdiff dplyr::setdiff merge https://github.com/red-data-tools/red_amber/blob/main/doc/DataFrame_Comparison_ja.md