Python เป็นโต๊ะทำงานสถิติ


355

ผู้คนจำนวนมากใช้เครื่องมือหลักเช่น Excel หรือสเปรดชีตอื่น SPSS, Stata หรือ R สำหรับความต้องการทางสถิติ พวกเขาอาจหันไปใช้แพคเกจเฉพาะสำหรับความต้องการพิเศษมาก แต่หลายสิ่งสามารถทำได้ด้วยสเปรดชีตอย่างง่ายหรือแพคเกจสถิติทั่วไปหรือสภาพแวดล้อมการเขียนโปรแกรมสถิติ

ฉันชอบ Python เป็นภาษาการเขียนโปรแกรมเสมอและสำหรับความต้องการง่าย ๆ มันง่ายที่จะเขียนโปรแกรมสั้น ๆ ที่คำนวณสิ่งที่ฉันต้องการ Matplotlib ให้ฉันพล็อตมัน

มีใครเปลี่ยนจากพูด R เป็น Python อย่างสมบูรณ์หรือไม่ R (หรือแพ็คเกจสถิติอื่น ๆ ) มีฟังก์ชันการทำงานเฉพาะสำหรับสถิติจำนวนมากและมีโครงสร้างข้อมูลที่ช่วยให้คุณคิดเกี่ยวกับสถิติที่คุณต้องการดำเนินการและน้อยกว่าเกี่ยวกับการแสดงข้อมูลภายในของคุณ Python (หรือภาษาไดนามิกอื่น ๆ ) มีประโยชน์ในการอนุญาตให้ฉันเขียนโปรแกรมในภาษาระดับสูงที่คุ้นเคยและช่วยให้ฉันโต้ตอบกับระบบในโลกแห่งความเป็นจริงซึ่งข้อมูลอยู่หรือที่ฉันสามารถทำการวัดได้ แต่ฉันไม่ได้พบแพ็คเกจ Python ใด ๆ ที่จะอนุญาตให้ฉันแสดงสิ่งต่าง ๆ ด้วย "คำศัพท์เชิงสถิติ" - จากสถิติเชิงพรรณนาอย่างง่ายไปจนถึงวิธีการหลายตัวแปรที่ซับซ้อนมากขึ้น

คุณสามารถแนะนำอะไรได้ถ้าฉันต้องการใช้ Python เป็น "สถิติ workbench" เพื่อแทนที่ R, SPSS ฯลฯ

สิ่งที่ฉันจะได้รับและสูญเสียขึ้นอยู่กับประสบการณ์ของคุณ?


5
FYI, มี subreddit ของ python stats ใหม่ที่จะปิดตัวลง: reddit.com/r/pystats
naught101

เมื่อคุณต้องการย้ายสิ่งต่าง ๆ บนบรรทัดคำสั่ง pythonpy ( github.com/Russell91/pythonpy ) เป็นเครื่องมือที่ดี
RussellStewart

คำตอบ:


307

เป็นการยากที่จะเพิกเฉยต่อความมั่งคั่งของแพ็คเกจทางสถิติที่มีอยู่ใน R / CRAN ที่กล่าวว่าฉันใช้เวลามากในดินแดนหลามและจะไม่ห้ามปรามใครก็ตามที่มีความสนุกสนานเท่าที่ฉันทำ :) นี่คือห้องสมุด / ลิงค์ที่คุณอาจพบว่ามีประโยชน์สำหรับงานสถิติ

  • NumPy / Scipyคุณน่าจะรู้เรื่องเหล่านี้อยู่แล้ว แต่ให้ฉันบอกCookbookที่คุณสามารถอ่านเกี่ยวกับเครื่องมืออำนวยความสะดวกทางสถิติที่มีอยู่แล้วและรายการตัวอย่างซึ่งเป็นการอ้างอิงที่ดีสำหรับฟังก์ชั่น (รวมถึงการจัดการข้อมูลและการดำเนินการอื่น ๆ ) อีกอ้างอิงที่มีประโยชน์คือจอห์นคุกกระจายใน SciPy

  • นุ่นนี่เป็นห้องสมุดที่ดีมากสำหรับการทำงานกับข้อมูลสถิติ - ข้อมูลแบบตารางอนุกรมเวลาข้อมูลพาเนล มีฟังก์ชั่นในตัวมากมายสำหรับการสรุปข้อมูล, การจัดกลุ่ม / การรวม, การหมุน นอกจากนี้ยังมีห้องสมุดสถิติ / เศรษฐมิติ

  • larry ติดป้ายกำกับอาร์เรย์ที่เล่นได้ดีกับ NumPy จัดเตรียมฟังก์ชันทางสถิติที่ไม่ได้มีอยู่ใน NumPy และดีสำหรับการจัดการข้อมูล

  • python-statlibความพยายามล่าสุดที่รวมไลบรารีสถิติที่กระจัดกระจายจำนวนหนึ่งเข้าด้วยกัน มีประโยชน์สำหรับสถิติพื้นฐานและเชิงพรรณนาหากคุณไม่ได้ใช้ NumPy หรือหมีแพนด้า

  • statsmodels การสร้างแบบจำลองทางสถิติ: โมเดลเชิงเส้น, GLMs, และอื่น ๆ

  • scikits แพคเกจการคำนวณทางสถิติและวิทยาศาสตร์ - สะดุดตาเรียบการเพิ่มประสิทธิภาพและการเรียนรู้ของเครื่อง

  • PyMCสำหรับความต้องการการสร้างแบบจำลอง Bayesian / MCMC / ลำดับชั้นของคุณ แนะนำเป็นอย่างยิ่ง

  • PyMix Mixture models

  • Biopythonมีประโยชน์สำหรับการโหลดข้อมูลทางชีวภาพของคุณลงในไพ ธ อนและมีเครื่องมือการเรียนรู้ทางสถิติ / เครื่องพื้นฐานสำหรับการวิเคราะห์

หากความเร็วกลายเป็นปัญหาให้พิจารณาTheano - ใช้กับความสำเร็จที่ดีโดยผู้เรียนรู้ลึก

มีสิ่งอื่นอีกมากมายที่นั่น แต่นี่คือสิ่งที่ฉันพบว่ามีประโยชน์มากที่สุดตามบรรทัดที่คุณพูดถึง


16
คำตอบทั้งหมดมีทั้งประโยชน์และมีประโยชน์และทุกคนควรจะได้รับการยอมรับ อย่างไรก็ตามอันนี้ทำได้ดีมากในการตอบคำถาม: ด้วย Python คุณจะต้องรวบรวมชิ้นส่วนต่าง ๆ จำนวนมากเพื่อทำสิ่งที่คุณต้องการ ตัวชี้เหล่านี้จะมีประโยชน์อย่างมากสำหรับทุกคนที่ต้องการทำสถิติ / การสร้างแบบจำลอง / ฯลฯ ด้วย Python ขอบคุณทุกคน!
Fabian Fagerholm

1
@ โปรดทราบว่าวิธีที่ดีที่สุดในการใช้ Python กับ Windows คืออะไร
Stéphane Laurent

1
@ StéphaneLaurentฉันมักจะติดตั้งชิ้นส่วนต่างๆตัวเอง แต่สำหรับการเริ่มต้นอย่างรวดเร็ว / ติดตั้งคุณอาจพิจารณา: pythonxy
ARS

สคริปต์นี้ติดตั้งไลบรารีจำนวนมากที่อ้างถึงด้านบน: fonnesbeck.github.com/ScipySuperpack
Fr.

Pythonxy นั้นดี แต่มันน่ารำคาญถ้าคุณต้องการทำการคำนวณขนาดใหญ่เนื่องจากมันมีให้ใช้เพียง 32 บิตเท่านั้น นี่คือไบนารีที่ไม่เป็นทางการสำหรับการติดตั้งแพ็คเกจหลามมากมาย มันมีประโยชน์มากหากคุณตัดสินใจทำงานภายใต้หน้าต่าง lfd.uci.edu/~gohlke/pythonlibs @ StéphaneLaurent
JEquihua

140

ในฐานะที่เป็นแพลตฟอร์มตัวเลขและใช้แทน MATLAB Python จะครบกำหนดอย่างน้อย 2-3 ปีก่อนและตอนนี้ดีกว่า MATLAB ในหลาย ๆ ด้าน ฉันพยายามเปลี่ยนไปใช้ Python จาก R ในช่วงเวลานั้นและล้มเหลวอย่างน่าสังเวช มีแพ็คเกจ R มากเกินไปที่ฉันใช้ในชีวิตประจำวันที่ไม่มี Python ที่เทียบเท่ากัน การขาด ggplot2 นั้นเพียงพอที่จะเป็นนักล้วงหน้า แต่มีอีกมากมาย นอกจากนี้ R มีไวยากรณ์ที่ดีกว่าสำหรับการวิเคราะห์ข้อมูล ลองพิจารณาตัวอย่างพื้นฐานต่อไปนี้:

งูหลาม :

results = sm.OLS(y, X).fit()

R :

results <- lm(y ~ x1 + x2 + x3, data=A)

คุณคิดว่าอะไรที่แสดงออกได้มากกว่านี้? ใน R คุณสามารถคิดในแง่ของตัวแปรและสามารถขยายโมเดลการพูด

lm(y ~ x1 + x2 + x3 + x2:x3, data=A)

เมื่อเทียบกับ R แล้ว Python เป็นภาษาระดับต่ำสำหรับการสร้างแบบจำลอง

ถ้าฉันมีความต้องการน้อยลงสำหรับฟังก์ชั่นสถิติขั้นสูงและเขียนโค้ด Python ในโครงการขนาดใหญ่ขึ้นฉันจะถือว่า Python เป็นตัวเลือกที่ดี ฉันจะพิจารณาด้วยเมื่อจำเป็นต้องใช้วิธีการแบบเปลือยเปล่าเนื่องจากข้อ จำกัด ด้านความเร็วหรือเนื่องจากแพ็คเกจ R ไม่มีขอบ

สำหรับผู้ที่ทำสถิติค่อนข้างขั้นสูงในขณะนี้คำตอบคือไม่มีเกมง่ายๆและเป็นไม่มี ที่จริงแล้วฉันเชื่อว่า Python จะ จำกัด วิธีการวิเคราะห์ข้อมูลของคุณ จะใช้เวลาสองสามปีและความพยายามหลายปีในการสร้างโมดูลทดแทนสำหรับแพ็คเกจ R 100 ที่จำเป็นและแม้ว่า Python จะรู้สึกเหมือนภาษาที่ความสามารถในการวิเคราะห์ข้อมูลถูกปิดใช้งาน เนื่องจาก R ได้จับส่วนแบ่งที่ใหญ่ที่สุดของนักสถิติประยุกต์มาแล้วในหลายสาขาฉันจึงไม่เห็นสิ่งนี้เกิดขึ้นเร็ว ๆ นี้ ต้องบอกว่ามันเป็นประเทศที่ฟรีและฉันรู้ว่าคนทำสถิติใน APL และ C


9
+1 ฉันชอบคำตอบนี้เพราะคุณให้ความสำคัญกับ R เป็นภาษาทางสถิติในการทำงานกับข้อมูลโดยใช้สูตรและสิ่งที่คล้ายกัน ที่ถูกกล่าวว่าฉันคาดหวังผลกระทบเชิงบวกที่ดีของหมีแพนด้า (รวมกับสถิติรุ่น) ในชุมชน Python
chl

28
ในชุมชน Python patsy กำลังพูดถึงความต้องการ "สูตร" ซึ่งคุณอธิบายบางครั้งปรับปรุงสิ่งที่ R เสนอ: patsy.readthedocs.org/en/v0.1.0/index.htmlสิ่งที่ดีใน Python ก็คือสิ่งเหล่านี้ ด้านการจัดการ orthogonally หมีแพนด้าจะดูแลไทม์รี่และการเป็นตัวแทนดาต้าเฟรม / ซีรีส์ patsy สำหรับสูตร จำนวนมากสำหรับการแทนค่าอาร์เรย์และ vectorization statsmodels ล้อม algos สถิติ scipy สำหรับการเพิ่มประสิทธิภาพและสิ่งอื่น ๆ ผลลัพธ์คืออินเตอร์เฟสที่สะอาดกว่า R ในการเปรียบเทียบนั้นเป็นผู้ใหญ่มากกว่า แต่เป็นผม ../ ..
blais

3
../ .. ฉันคิดว่าในระยะยาวกองกำลังจะผลักดันทิศทางของการรวม Python ให้มากขึ้นเรื่อย ๆ และคุณจะพบว่ามันจะกลายเป็นคู่แข่งของ R การทำความสะอาดข้อมูลใน R เป็น PIA เทียบกับ Python และ มันไม่เคยเป็นเรื่องเล็กน้อยของงาน - blais
chl

9
เป็นการปรับปรุง: ตัวอย่างแรกในเอกสาร statsmodels results = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()อยู่ในขณะนี้ Statsmodels ยังคงล้าหลังแพ็กเกจสถิติอื่น ๆ เช่น R ในแง่ของความครอบคลุม แต่มีหลายสิ่งที่คุณสามารถทำได้ในงูใหญ่ก่อนที่คุณจะต้องคว้าภาษาอื่นหรือแพ็คเกจสถิติ (GEE และผสมจะอยู่ในรุ่นถัดไป.)
โจเซฟ

4
"สิ่งที่ดีใน Python ก็คือทุกแง่มุมเหล่านี้ได้รับการจัดการแบบตั้งฉาก ... " ฉันไม่เห็นด้วยกับการนับจำนวน มีการทับซ้อนอย่างมีนัยสำคัญระหว่าง numpy, scipy, statsmodels การออกแบบของ R นั้นเป็นแบบแยกส่วนและประหยัดมากขึ้น นอกจากนี้ส่วนใหญ่ไม่ใช่ทั้งหมดของแนวคิดเชิงนวัตกรรมในภาษาที่มุ่งเน้นข้อมูล (ไม่ใช่แค่สูตร แต่ยังรวมถึงกรอบข้อมูลไวยากรณ์ของกราฟิก caret เป็นไวยากรณ์ของ medels, knitr และไวยากรณ์ที่พัฒนายังคงอยู่ของข้อมูลของ dplyr) มีจุดกำเนิดใน R. ชุมชน Python ดูเหมือนจะเป็นก้าวหนึ่งเสมอและมุ่งเน้นไปที่ประสิทธิภาพมากเกินไป
Gappy

95

ก่อนอื่นให้ฉันบอกว่าฉันเห็นด้วยกับคำตอบของ John D Cook: Python ไม่ใช่ภาษาเฉพาะโดเมนอย่าง R และตามมากมีอีกมากที่คุณจะสามารถทำมันต่อไปได้ แน่นอนว่าการเป็น DSL หมายความว่าอัลกอริธึมล่าสุดที่เผยแพร่ใน JASA นั้นเกือบจะแน่นอนในอาร์หากคุณกำลังทำงานแบบเฉพาะกิจและต้องการทดสอบด้วยเทคนิคการถดถอยแบบ lasso ล่าสุดพูดว่า R นั้นยากที่จะเอาชนะ หากคุณกำลังทำงานด้านการวิเคราะห์การผลิตมากขึ้นการรวมเข้ากับซอฟต์แวร์และสภาพแวดล้อมที่มีอยู่และคำนึงถึงความเร็วความสามารถในการขยายและการบำรุงรักษา Python จะให้บริการคุณได้ดียิ่งขึ้น

ประการที่สอง ars ให้คำตอบที่ดีกับลิงก์ที่ดี ต่อไปนี้เป็นแพ็คเกจเพิ่มเติมอีกสองสามรายการที่ฉันเห็นว่าจำเป็นต่อการวิเคราะห์งานใน Python:

  • matplotlibเพื่อกราฟิกคุณภาพที่สวยงาม
  • IPythonสำหรับคอนโซล Python แบบโต้ตอบที่ได้รับการปรับปรุง ที่สำคัญ IPython ให้กรอบที่มีประสิทธิภาพสำหรับการประมวลผลแบบขนานและแบบโต้ตอบใน Python
  • Cythonสำหรับการเขียนส่วนขยาย C ใน Python ได้อย่างง่ายดาย แพคเกจนี้ช่วยให้คุณรับรหัส Python จำนวนมากที่คำนวณได้อย่างง่ายดายและแปลงเป็นส่วนขยาย C ได้อย่างง่ายดาย จากนั้นคุณจะสามารถโหลดส่วนขยาย C เหมือนกับโมดูล Python อื่น ๆ ได้ แต่รหัสจะทำงานเร็วมากเนื่องจากเป็น C
  • PyIMSL Studioสำหรับชุดอัลกอริทึมทางคณิตศาสตร์และสถิติหลายร้อยรายการที่ได้รับการบันทึกและสนับสนุนอย่างละเอียดถี่ถ้วน คุณสามารถเรียกอัลกอริธึมที่เหมือนกันได้จาก Python และ C โดยมีเกือบ API เดียวกันและคุณจะได้ผลลัพธ์เดียวกัน การเปิดเผยแบบเต็ม: ฉันทำงานกับผลิตภัณฑ์นี้ แต่ฉันก็ใช้มันบ่อยเช่นกัน
  • xlrdสำหรับการอ่านในไฟล์ Excel ได้อย่างง่ายดาย

ถ้าคุณต้องการมากขึ้น MATLAB เหมือน IDE โต้ตอบ / คอนโซลตรวจสอบSpyderหรือPyDevปลั๊กอินสำหรับEclipse


15
R ไม่ใช่ DSL ในความหมายปกติของคำศัพท์ เป็นภาษาโปรแกรมที่สมบูรณ์แบบทัวริง
hadley

4
@Hadley: บางทีฉันใช้ "DSL" เกินไปเรียกขาน แต่สำหรับสิ่งที่คุ้มค่าหน้า Wikipedia ใน DSLs อย่างชัดเจนแสดง S + และ R เป็นตัวอย่างของ DSL และ Python เป็นภาษาวัตถุประสงค์ทั่วไป ดูen.wikipedia.org/wiki/Domain-specific_language ในหลอดเลือดดำเดียวกัน SAS เป็นทัวริงสมบูรณ์ (เฉพาะในกรณีที่ใช้องค์ประกอบมาโคร IML) แต่ฉันแทบจะไม่เรียกมันว่าเป็นภาษาที่สมบูรณ์ในทางปฏิบัติ ฉันพบว่า R มีค่าในงานของฉัน แต่ฉันพยายามเขียนโค้ดด้วยภาษาที่ใช้งานทั่วไปให้มากที่สุดแทนที่จะพยายามทำทุกอย่างใน R (หรือ Excel สำหรับเรื่องนั้น)
Josh Hemann

16
ฉันคิดว่ามันไม่ยุติธรรมที่จะรวม R และ S ไว้ในรายการเดียวกับภาษาอื่น ๆ เหล่านั้นในวิกิพีเดีย - ไม่มีอะไรที่คุณไม่สามารถทำได้ใน R ที่คุณสามารถทำได้ในหลาม แน่นอนว่ามีหลายสิ่งที่เหมาะกับภาษาโปรแกรมอื่นมากกว่า
hadley

6
Ahh, hadley ลบ R และ S + ออกจากหน้า Wikipedia ในวันเดียวกันกับที่เราแลกเปลี่ยนความคิดเห็น 13 ตุลาคม 2011 ดังนั้นฉันมักจะได้ยินมนต์ "R ได้รับการพัฒนาโดยและสำหรับนักสถิติ" เป็นจุดแข็งพื้นฐาน เห็นได้ชัดว่าตอนนี้มันเป็นภาษาอเนกประสงค์, เกินไป ...
จอช Hemann

5
ฉันสามารถใช้รหัสมัลติเธรดกับ R ได้หรือไม่ เครือข่าย I / O อะซิงโครนัส? เชื่อฉันเถอะ usecases เหล่านี้เกิดขึ้นจริงในการคำนวณทางวิทยาศาสตร์ R เป็น DSL ในความคิดของฉัน มีความแข็งแกร่งด้านสถิติและไม่ดีในเรื่องอื่น ๆ
Gael Varoquaux

61

ฉันไม่คิดว่าจะมีข้อโต้แย้งใด ๆ ว่าช่วงของแพ็คเกจทางสถิติในcranและBioconductor นั้นมีอะไรมากกว่าที่เสนอจากภาษาอื่น ๆ แต่นั่นไม่ใช่สิ่งเดียวที่จะต้องพิจารณา

ในการวิจัยของฉันฉันใช้ R เมื่อทำได้ แต่บางครั้ง R ช้าเกินไป ตัวอย่างเช่นการเรียกใช้ MCMC ขนาดใหญ่

เมื่อเร็ว ๆ นี้ฉันรวมหลามและ C เพื่อแก้ไขปัญหานี้ สรุปโดยย่อ: ปรับโมเดลประชากรสุ่มขนาดใหญ่ด้วยพารามิเตอร์ ~ 60 และสรุปประมาณ 150 สถานะแฝงโดยใช้ MCMC

  1. อ่านข้อมูลในไพ ธ อน
  2. สร้างโครงสร้างข้อมูล C ในหลามใช้ctypes
  3. ใช้ python forloop เรียกใช้ฟังก์ชัน C ที่อัพเดตพารามิเตอร์และคำนวณความน่าจะเป็น

การคำนวณอย่างรวดเร็วแสดงให้เห็นว่าโปรแกรมใช้จ่าย 95% ในฟังก์ชั่น C อย่างไรก็ตามฉันไม่ต้องเขียนรหัส C เจ็บปวดเพื่ออ่านในข้อมูลหรือสร้างโครงสร้างข้อมูล C


ฉันรู้ว่ามันมีrpyด้วยเช่นกันซึ่ง python สามารถเรียกใช้ฟังก์ชัน R ได้ สิ่งนี้มีประโยชน์ แต่ถ้าคุณ "ทำสถิติ" ฉันจะใช้ R


29
การเสียบปลั๊กไร้ยางอายสำหรับ Rcpp :)
Dirk Eddelbuettel

อยากรู้อยากเห็นถ้าคุณได้ลอง PyMC และเปรียบเทียบประสิทธิภาพ (เทียบกับหลาม / C) สำหรับรุ่นของคุณ
ARS

@ars: ในกรณีข้างต้นการวนซ้ำแต่ละครั้ง (จากการซ้ำ 10 ^ 8) เกี่ยวข้องกับการแก้ 5 ODE สิ่งนี้จะต้องทำในซีส่วนที่เหลือของรหัสนั้นค่อนข้างง่ายและรหัส C ก็ตรงไปตรงมา แอปพลิเคชันของฉันไม่ได้มาตรฐานและดังนั้นจึงไม่สามารถใช้งาน PyMC ได้ - เช่นกัน ~ 2 ปีก่อน
csgillespie

40

การอภิปราย StackOverflow ต่อไปนี้อาจมีประโยชน์


การอภิปรายทั้งหมดเหล่านี้ถูกลบ :-( บางทีคำตอบนี้ควรถูกลบด้วยหรือไม่
Jonathan

12
ช่างน่าเศร้า ฉันได้อัปเดตลิงก์แล้วเพื่ออ้างอิงถึงเครื่องสำเนาย้อนกลับ
Jeromy Anglim

36

ฉันไม่ได้เห็นscikit- เรียนรู้ที่กล่าวถึงอย่างชัดเจนในคำตอบข้างต้น เป็นชุด Python สำหรับการเรียนรู้ของเครื่องใน Python มันค่อนข้างเล็ก แต่เติบโตอย่างรวดเร็วมาก (ข้อจำกัดความรับผิดชอบ: ฉันเป็นนักพัฒนา scikit เรียนรู้) เป้าหมายคือเพื่อให้เครื่องมืออัลกอริทึมการเรียนรู้เครื่องมาตรฐานในอินเทอร์เฟซแบบรวมเป็นหนึ่งเดียวโดยมุ่งเน้นที่ความเร็วและการใช้งาน เท่าที่ฉันรู้คุณไม่สามารถพบสิ่งที่คล้ายกันใน Matlab มันเป็นจุดแข็ง:

Matlab เป็นเครื่องมือที่ยอดเยี่ยม แต่ในงานของฉันเอง scipy + scikit-Learn เริ่มให้ Matlab กับฉันเพราะ Python ทำงานได้ดีขึ้นด้วยหน่วยความจำเนื่องจากกลไกการมอง (และฉันมีข้อมูลขนาดใหญ่) และเนื่องจาก scikit-Learn ทำให้ฉันสามารถเปรียบเทียบวิธีการต่าง ๆ ได้ง่ายมาก


29

ข้อดีอย่างหนึ่งของการย้ายมาที่ Python ก็คือความเป็นไปได้ที่จะทำงานได้มากขึ้นในภาษาเดียว Python เป็นตัวเลือกที่สมเหตุสมผลสำหรับการเขียนตัวเลขแบบเร่งด่วนเขียนเว็บไซต์สคริปต์การบริหารเป็นต้นดังนั้นหากคุณทำสถิติใน Python คุณจะไม่ต้องเปลี่ยนภาษาเพื่อทำงานด้านการเขียนโปรแกรมอื่น ๆ

อัปเดต: เมื่อวันที่ 26 มกราคม 2011 Microsoft Research ประกาศShoสภาพแวดล้อมแบบ Python ใหม่สำหรับการวิเคราะห์ข้อมูล ฉันยังไม่มีโอกาสลอง แต่ดูเหมือนว่าเป็นไปได้ที่น่าสนใจหากต้องการเรียกใช้ Python และโต้ตอบกับไลบรารี NET


4
ฉันได้ทำ crunching จำนวนมากเว็บไซต์หนึ่งและสคริปต์การจัดการน้อยใน R และพวกเขาทำงานได้ค่อนข้างดี

28

บางทีคำตอบนี้อาจเป็นการโกง แต่ดูเหมือนว่าไม่มีใครพูดถึงโครงการrpyซึ่งมีส่วนต่อประสานระหว่าง R และ Python คุณจะได้รับ pythonic api จากการทำงานส่วนใหญ่ของ R ในขณะที่ยังคงรักษาไวยากรณ์ (ฉันจะเถียงดีกว่า) การประมวลผลข้อมูลและในบางกรณีความเร็วของ Python มันไม่น่าเป็นไปได้ที่ Python จะมีเครื่องมือทางสถิติที่มีเลือดออกมากพอ ๆ กับ R เพียงเพราะว่า R เป็น dsl และชุมชนสถิตินั้นลงทุนใน R มากกว่าภาษาอื่น ๆ

ฉันเห็นสิ่งนี้คล้ายคลึงกับการใช้ ORM เพื่อใช้ประโยชน์จาก SQL ในขณะที่ให้ Python เป็น Python และ SQL เป็น SQL

แพ็คเกจที่มีประโยชน์อื่น ๆ โดยเฉพาะสำหรับโครงสร้างข้อมูลรวมถึง:

  • pydataframeทำซ้ำ data.frame และสามารถใช้กับ rpy ช่วยให้คุณใช้ตัวกรองและการดำเนินการคล้าย R
  • pyTablesใช้ชนิดข้อมูล hdf5 ที่รวดเร็วภายใต้อายุใช้งานนาน
  • h5pyยัง hdf5 แต่มุ่งเป้าไปที่การทำงานร่วมกับ numpy โดยเฉพาะ
  • pandasโครงการอื่นที่จัดการ data.frame เช่น data, ทำงานกับ rpy, pyTables และ numpy

1
ฉันมักจะพบเลอะเทอะ rpy เพื่อทำงานกับ มันต้องการโค้ดขนาดใหญ่ที่มีฟังก์ชั่นง่าย ๆ ตัวอย่างเช่น
Néstor

บางทีส่วนขยาย rmagic สำหรับ IPython (ตามที่ชี้แจงโดย @CarlSmith) สามารถทำให้ทำงานกับ rpy2 ได้ง่ายขึ้นหรือไม่ ดูipython.org/ipython-doc/dev/config/extensions/rmagic.html
Jonathan

26

ฉันเป็นนักชีวสถิติในร้านค้า R (ประมาณ 80 คนใช้ R เป็นเครื่องมือหลัก) ถึงกระนั้นฉันใช้เวลาประมาณ 3/4 ในการทำงานกับ Python ฉันให้ความสำคัญกับความจริงที่ว่างานของฉันเกี่ยวข้องกับ Bayesian และวิธีการเรียนรู้ของเครื่องเพื่อการสร้างแบบจำลองทางสถิติ Python ได้เข้าใกล้จุดที่น่าสนใจด้านประสิทธิภาพ / การผลิตมากกว่า R อย่างน้อยสำหรับวิธีทางสถิติที่ทำซ้ำหรืออิงจากการจำลอง ถ้าฉันกำลังทำการวิเคราะห์ความแปรปรวนการถดถอยและการทดสอบทางสถิติฉันแน่ใจว่าฉันจะใช้อาร์เป็นหลักในสิ่งที่ฉันต้องการอย่างไรก็ตามไม่สามารถใช้เป็นแพ็คเกจ R กระป๋องได้


5
+1 สำหรับการแยกแยะว่าคุณทำงานในด้านใดของพื้นที่สถิติมีพื้นที่ของการคำนวณทางสถิติ (เช่นการวิเคราะห์ข้อความที่ไม่มีโครงสร้างและการมองเห็นด้วยคอมพิวเตอร์) ซึ่งมีฟังก์ชันการทำงานมากมายสำหรับ Python และ Python นั้นดูเหมือนภาษากลางในโดเมนย่อยเหล่านั้น ฉันคิดว่าชุมชน Python จะต้องติดตามต่อไปคือการปรับปรุงโครงสร้างข้อมูลและความหมายเกี่ยวกับการสร้างแบบจำลองทางสถิติแบบคลาสสิกที่การออกแบบของ R นั้นดีมาก นักพัฒนา scikits.statsmodels กำลังก้าวหน้าไปมากในหน้านั้น: scikits.appspot.com/statsmodels
Josh Hemann

26

ฉันอยากจะบอกว่าจากมุมมองของใครบางคนที่อาศัยโมเดลเชิงเส้นสำหรับงานทางสถิติของฉันและชอบ Python สำหรับงานด้านอื่น ๆ ของฉันฉันรู้สึกผิดหวังอย่างมากกับ Python ที่เป็นแพลตฟอร์มสำหรับทำอะไร แต่สถิติพื้นฐานค่อนข้างมาก

ฉันพบว่า R ได้รับการสนับสนุนที่ดีขึ้นมากจากชุมชนสถิติการใช้โมเดลเชิงเส้นได้ดีขึ้นมากและตรงไปตรงมาจากด้านสถิติของสิ่งต่าง ๆ แม้จะมีการแจกแจงที่ยอดเยี่ยมเช่น Enthought Python ก็รู้สึกเหมือน Wild West

และถ้าคุณไม่ได้ทำงานคนเดียวอัตราต่อรองของคุณที่มีผู้ทำงานร่วมกันซึ่งใช้ Python สำหรับสถิติ ณ จุดนี้จะค่อนข้างบาง


26

ไม่จำเป็นต้องยกเลิก R สำหรับ Python จริงๆ หากคุณใช้IPythonแบบเต็มสแต็คคุณจะมีส่วนขยาย R, Octave และ Cython เพื่อให้คุณสามารถใช้ภาษาเหล่านั้นได้อย่างง่ายดายและสะอาดภายในโน๊ตบุ๊ค IPython ของคุณ คุณยังได้รับการสนับสนุนสำหรับการส่งผ่านค่าระหว่างพวกเขาและ Python namespace ของคุณ คุณสามารถส่งออกข้อมูลของคุณเป็นแปลงโดยใช้ matplotlib และนิพจน์ทางคณิตศาสตร์ที่แสดงผลอย่างถูกต้อง มีคุณสมบัติอื่น ๆ มากมายและคุณสามารถทำได้ทั้งหมดในเบราว์เซอร์ของคุณ

IPython มานานแล้ว :)


19

สิ่งที่คุณกำลังมองหาเรียกว่า Sage: http://www.sagemath.org/

เป็นอินเทอร์เฟซออนไลน์ที่ยอดเยี่ยมในการผสมผสานเครื่องมือ Python สำหรับคณิตศาสตร์


4
ส่วนที่ยอดเยี่ยมเกี่ยวกับ Sage คือมันคือการรวมกันของเครื่องมือฟรีที่ยอดเยี่ยมสำหรับคณิตศาสตร์สถิติการวิเคราะห์ข้อมูลและอื่น ๆมันเป็นมากกว่า Python เท่านั้น สามารถเข้าถึง R, maxima, GLPK, GSL และอื่น ๆ
shabbychef

18

Rpy2 - เล่นกับ R อยู่ใน Python ...

รายละเอียดเพิ่มเติมตามคำขอของ Gung:

สามารถดูเอกสาร Rpy2 ได้ที่http://rpy.sourceforge.net/rpy2/doc-dev/html/introduction.html

จากเอกสารประกอบ อินเตอร์เฟสระดับสูงใน rpy2 ได้รับการออกแบบมาเพื่ออำนวยความสะดวกในการใช้งานโปรแกรมเมอร์ R โดย Python อ็อบเจ็กต์ R ถูกเปิดเผยเป็นอินสแตนซ์ของคลาสที่ดำเนินการโดย Python โดยมีฟังก์ชัน R เป็นเมธอดที่ถูกผูกกับวัตถุเหล่านั้นในหลาย ๆ กรณี ส่วนนี้ประกอบด้วยการแนะนำกราฟิกด้วยพล็อต R: trellis (lattice) รวมถึงไวยากรณ์ของกราฟิกที่นำมาใช้ใน ggplot2 ให้เราทำการแปลงที่ซับซ้อนและให้ข้อมูลด้วยโค้ดที่เขียนน้อยในขณะที่กราฟกริดพื้นฐานอนุญาตให้ปรับแต่งได้

ทำไมฉันถึงชอบ:

ฉันสามารถประมวลผลข้อมูลของฉันโดยใช้ความยืดหยุ่นของ python เปลี่ยนเป็นเมทริกซ์โดยใช้ numpy หรือ pandas และทำการคำนวณใน R และรับออบเจ็กต์กลับมาเพื่อทำการโพสต์ ฉันใช้เศรษฐมิติและงูเหลือมก็จะไม่มีเครื่องมือสถิติอาตกของอาร์และอาร์จะไม่ยืดหยุ่นเหมือนงูหลามเลย สิ่งนี้ทำให้คุณต้องเข้าใจอาร์โชคดีที่มีชุมชนนักพัฒนาที่ดี

Rpy2 นั้นได้รับการสนับสนุนเป็นอย่างดีและสุภาพบุรุษที่สนับสนุนมันก็จะทำให้ฟอรัม SO การติดตั้ง Windows อาจเจ็บปวดเล็กน้อย - https://stackoverflow.com/questions/5068760/bizzarre-issue-trying-to-make-rake2-2-1-9-work-with-r-2-12-1-using -python-2-6-un? rq = 1อาจช่วยได้


1
ยินดีต้อนรับสู่เว็บไซต์ @pythOnometrist ฉันคิดว่านี่เป็นผลงานที่มีประโยชน์ คุณคิดจะให้บทสรุปสั้น ๆ ของ Rpy2 เพื่อให้ผู้อ่านสามารถตัดสินใจได้หรือไม่ว่ามันคือสิ่งที่พวกเขากำลังมองหา?
gung

17

ฉันใช้ Python สำหรับการวิเคราะห์ทางสถิติและการคาดการณ์ ดังที่คนอื่น ๆ กล่าวไว้ข้างต้น Numpy และ Matplotlib เป็นนักเขียนที่ดี ฉันยังใช้ ReportLab เพื่อสร้างผลผลิต PDF

ขณะนี้ฉันกำลังดูทั้ง Resolver และ Pyspread ซึ่งเป็นแอปพลิเคชันสเปรดชีตที่คล้ายกับ Excel ซึ่งใช้ Python Resolver เป็นผลิตภัณฑ์เชิงพาณิชย์ แต่Pyspreadยังคงเป็นโอเพ่นซอร์ส (ขอโทษฉัน จำกัด แค่ลิงค์เดียว)


1
เครื่องมือที่น่าสนใจอีกครั้ง ฉันรู้เกี่ยวกับ Numpy, Matplotlib และ ReportLab แต่ Pyspread ดูเหมือนเป็นแนวคิดที่น่าสนใจ อย่างน้อยฉันก็อยากจะพิมพ์นิพจน์หลามในเซลล์สเปรดชีต แม้ว่ามันจะไม่ได้แก้ปัญหาที่เป็นไปได้ทั้งหมด แต่มันก็ดีสำหรับการสร้างต้นแบบและเล่นกับข้อมูล
Fabian Fagerholm

1
สเปรดชีตหลาม +1 ว้าว! ยังไม่เคยได้ยินเกี่ยวกับสิ่งเหล่านั้น ฉันมักจะปรารถนา OpenOffice / LibreOffice จะโอบกอดและรวมสคริปต์ python ในซอฟต์แวร์สเปรดชีตของพวกเขา
ผู้ใช้

15

ภาพรวมที่ดีจนถึง ฉันใช้ python (โดยเฉพาะ scipy + matplotlib) แทน matlab ตั้งแต่ 3 ปีทำงานที่มหาวิทยาลัย บางครั้งฉันก็กลับไปเพราะฉันคุ้นเคยกับห้องสมุดเฉพาะเช่นแพ็คเกจเวฟเล็ต matlab นั้นยอดเยี่ยมมาก

ฉันชอบการกระจายของhttp://thought.com/หลาม มันเป็นเชิงพาณิชย์ แต่ฟรีสำหรับจุดประสงค์ด้านการศึกษาและเท่าที่ฉันรู้โอเพนซอร์สอย่างสมบูรณ์ ในขณะที่ฉันทำงานกับนักเรียนจำนวนมากก่อนที่จะใช้ enthought บางครั้งมันก็ลำบากสำหรับพวกเขาในการติดตั้งแบบ numpy, scipy, ipython และอื่น ๆ Enthought จัดเตรียมโปรแกรมติดตั้งสำหรับ Windows, Linux และ Mac

อีกสองแพ็คเกจที่ควรกล่าวถึง:

  1. ipython (มาพร้อมกับ enthought) เชลล์ขั้นสูงที่ยอดเยี่ยม ช่วงแนะนำที่ดีอยู่ที่ showmedo http://showmedo.com/videotutorials/series?name=PythonIPythonSeries

  2. nltk - ชุดภาษาธรรมชาติhttp://www.nltk.org/แพ็คเกจยอดเยี่ยมในกรณีที่คุณต้องการทำสถิติ / การเรียนรู้เครื่องในคลังข้อมูลใด ๆ


12

นี่เป็นคำถามที่น่าสนใจพร้อมคำตอบที่ดี

คุณอาจพบการสนทนาที่มีประโยชน์ในกระดาษที่ฉันเขียนกับ Roseline Bilina รุ่นสุดท้ายอยู่ที่นี่: http://www.enac.fr/recherche/leea/Steve%20Lawford/papers/python_paper_revised.pdfมันมีปรากฏตั้งแต่ในรูปแบบนี้เกือบเป็น "Python สำหรับ Unified Research ในเศรษฐมิติและสถิติ ", ในรีวิวเศรษฐมิติ (2012), 31 (5), 558-591)


10

อาจไม่เกี่ยวข้องโดยตรง แต่ R มีสภาพแวดล้อม GUI ที่ดีสำหรับเซสชันแบบโต้ตอบ (แก้ไข: บน Mac / Windows) IPython นั้นดีมาก แต่สำหรับสภาพแวดล้อมที่ใกล้กับ Matlab คุณอาจลอง Spyder หรือ IEP ฉันโชคดีกว่าที่ใช้ IEP มาช้า แต่ Spyder ดูมีแนวโน้มมากกว่า

IEP: http://code.google.com/p/iep/

Spyder: http://packages.python.org/spyder/

และไซต์ IEP ยังมีการเปรียบเทียบซอฟต์แวร์ที่เกี่ยวข้องสั้น ๆ : http://code.google.com/p/iep/wiki/Alternatives


9

ฉันพบคำแนะนำที่ดีเกี่ยวกับหมีแพนด้าที่นี่ซึ่งฉันขอแนะนำให้เช็คเอาท์ Pandas เป็นชุดเครื่องมือที่น่าทึ่งและให้ความสามารถในการวิเคราะห์ข้อมูลระดับสูงของ R ด้วยห้องสมุดที่กว้างขวางและคุณภาพการผลิตของ Python

โพสต์บล็อกนี้ให้คำแนะนำที่ดีเกี่ยวกับ Pandas จากมุมมองของผู้เริ่มต้นที่สมบูรณ์:

http://manishamde.github.com/blog/2013/03/07/pandas-and-python-top-10/


3
คุณช่วยเขียนคำสองสามคำเกี่ยวกับคุณสมบัติที่ทำให้ "ยอดเยี่ยม" เพื่อให้ผู้อ่านสามารถพิจารณาล่วงหน้าว่าการดูนั้นเหมาะสมหรือไม่
whuber

1
ขอโทษ เพิ่งรู้ว่าฉันแนบลิงค์ผิดในโพสต์ต้นฉบับของฉัน
padawan

8

ฉันควรเพิ่มการตะโกนออกมาสำหรับ Sho, สภาพแวดล้อมการคำนวณเชิงตัวเลขที่สร้างขึ้นบน IronPython ตอนนี้ฉันใช้มันสำหรับชั้นเรียนการเรียนรู้ของเครื่องสแตนฟอร์ดและมันก็มีประโยชน์จริงๆ มันถูกสร้างขึ้นในแพ็คเกจพีชคณิตเชิงเส้นและความสามารถในการสร้างแผนภูมิ เป็น. Net มันง่ายต่อการขยายด้วย C # หรือภาษา. Net อื่น ๆ ฉันพบว่าการเริ่มต้นใช้งานง่ายกว่าการเป็นผู้ใช้ windows มากกว่า Python และ NumPy


8

ไม่มีใครพูดถึงส้มมาก่อน:

การขุดข้อมูลผ่านการเขียนโปรแกรมด้วยภาพหรือการเขียนสคริปต์ Python ส่วนประกอบสำหรับการเรียนรู้ของเครื่อง ส่วนเสริมสำหรับชีวสารสนเทศศาสตร์และการขุดข้อความ เต็มไปด้วยคุณสมบัติสำหรับการวิเคราะห์ข้อมูล

ฉันไม่ได้ใช้มันทุกวัน แต่เป็นสิ่งที่ต้องดูสำหรับทุกคนที่ชอบ GUI ผ่านอินเตอร์เฟสบรรทัดคำสั่ง

แม้ว่าคุณจะชอบแบบหลังออเรนจ์ก็เป็นสิ่งที่ดีที่คุ้นเคยเนื่องจากคุณสามารถนำเข้าชิ้นส่วนสีส้มไปยังสคริปต์ Python ของคุณได้อย่างง่ายดายในกรณีที่คุณต้องการฟังก์ชั่นการทำงานบางอย่าง


7

โปรดทราบว่า SPSS Statistics มีอินเทอร์เฟซ Python ในตัว (เช่น R) ดังนั้นคุณสามารถเขียนโปรแกรม Python ที่ใช้โพรซีเดอร์ Statistics และสร้างเอาต์พุตสถิติที่จัดรูปแบบได้ตามปกติหรือส่งคืนผลลัพธ์ไปยังโปรแกรมของคุณเพื่อการประมวลผลต่อไป หรือคุณสามารถเรียกใช้โปรแกรม Python ในสตรีมคำสั่งสถิติ คุณยังจำเป็นต้องรู้ภาษาคำสั่งสถิติ แต่คุณสามารถใช้ประโยชน์จากการจัดการข้อมูลทั้งหมดผลลัพธ์การนำเสนอ ฯลฯ ที่สถิติให้เช่นเดียวกับขั้นตอน


7

การเปรียบเทียบล่าสุดจาก DataCamp ให้ภาพที่ชัดเจนเกี่ยวกับ R และ Python

การใช้ภาษาทั้งสองนี้ในฟิลด์การวิเคราะห์ข้อมูล โดยทั่วไปจะใช้ Python เมื่องานการวิเคราะห์ข้อมูลจำเป็นต้องรวมเข้ากับเว็บแอพหรือหากต้องรวมรหัสสถิติเข้ากับฐานข้อมูลการผลิต R ส่วนใหญ่จะใช้เมื่องานการวิเคราะห์ข้อมูลต้องการการคำนวณแบบสแตนด์อโลนหรือการวิเคราะห์บนเซิร์ฟเวอร์แต่ละเครื่อง

ฉันพบว่ามันมีประโยชน์มากในบล็อกนี้และหวังว่าจะช่วยให้ผู้อื่นเข้าใจถึงแนวโน้มล่าสุดในทั้งสองภาษานี้ จูเลียก็กำลังขึ้นมาในพื้นที่เช่นกัน หวังว่านี่จะช่วยได้!


6

ฉันเชื่อว่า Python เป็นโต๊ะทำงานที่ยอดเยี่ยมในสาขาของฉัน ฉันทำการขูดจำนวนมากการถกเถียงข้อมูลงานข้อมูลขนาดใหญ่การวิเคราะห์เครือข่ายการสร้างแบบจำลองแบบเบย์และแบบจำลอง โดยทั่วไปสิ่งเหล่านี้ต้องการความเร็วและความยืดหยุ่นดังนั้นฉันจึงพบว่า Python ทำงานได้ดีกว่า R ในกรณีเหล่านี้ นี่คือบางสิ่งเกี่ยวกับ Python ที่ฉันชอบ (บางอย่างถูกกล่าวถึงข้างต้นประเด็นอื่นไม่ได้):

-Cleaner ไวยากรณ์ รหัสอ่านได้มากขึ้น ฉันเชื่อว่า Python เป็นภาษาที่ทันสมัยและสอดคล้องกันมากขึ้น

-Python มี Notebook, Ipython และเครื่องมือที่น่าทึ่งอื่น ๆ สำหรับการแชร์รหัสการทำงานร่วมกันการเผยแพร่

โน๊ตบุ๊ค -iPython ทำให้สามารถใช้ R ในโค้ด Python ของมันได้ดังนั้นจึงเป็นไปได้ที่จะกลับไปที่ R

- เร็วกว่าโดยไม่ต้องขอความช่วยเหลือจาก C การใช้ Cython, NUMBA และวิธีการอื่น ๆ ของการรวม C จะทำให้โค้ดของคุณมีความเร็วเทียบเท่ากับ C บริสุทธิ์นี่เท่าที่ฉันรู้ว่าไม่สามารถทำได้ในอาร์

- แพนด้า Numpy และ Scipy พัดมาตรฐาน R ออกจากน้ำ ใช่มีบางสิ่งที่ R สามารถทำได้ในบรรทัดเดียว แต่ใช้ Pandas 3 หรือ 4 โดยทั่วไปอย่างไรก็ตาม Pandas สามารถจัดการชุดข้อมูลขนาดใหญ่ใช้งานง่ายขึ้นและให้ความยืดหยุ่นอย่างเหลือเชื่อในการรวมเข้ากับ Python อื่น ๆ แพคเกจและวิธีการ

หลามมีเสถียรภาพมากขึ้น ลองโหลดชุดข้อมูล 2gig ใน RStudio

- หนึ่งในแพ็คเกจที่เรียบร้อยที่ไม่ได้กล่าวถึงข้างต้นคือ PyMC3 - แพ็คเกจทั่วไปที่ยอดเยี่ยมสำหรับการสร้างแบบจำลอง Bayesian ของคุณ

บางคนกล่าวถึง ggplot2 และด้วงเกี่ยวกับการหายไปจาก Python หากคุณเคยใช้ฟังก์ชันกราฟของ Matlab และ / หรือใช้ matplotlib ใน Python คุณจะรู้ว่าตัวเลือกหลังนั้นมีความสามารถมากกว่า ggplot2

อย่างไรก็ตามบางที R สามารถเรียนรู้ได้ง่ายกว่าและฉันมักจะใช้มันในกรณีที่ฉันยังไม่คุ้นเคยกับขั้นตอนการสร้างแบบจำลอง ในกรณีนี้ความลึกของไลบรารี่ทางสถิติที่ไม่อยู่ในชั้นวางของ R นั้นไม่สามารถเอาชนะได้ เป็นการดีที่ฉันจะรู้ว่าทั้งสองอย่างดีพอที่จะสามารถใช้เมื่อต้องการ


5

สำหรับผู้ที่ต้องทำงานภายใต้ Windows, Anaconda ( https://store.continuum.io/cshop/anaconda/ ) ช่วยได้มากจริงๆ การติดตั้งแพคเกจภายใต้ Windows เป็นเรื่องที่ปวดหัว เมื่อติดตั้ง Anaconda คุณสามารถตั้งค่าสภาพแวดล้อมการพัฒนาที่พร้อมใช้งานด้วยสายการบินเดียว

ตัวอย่างเช่นด้วย

conda create -n stats_env python pip numpy scipy matplotlib pandas

แพ็คเกจเหล่านี้จะถูกดึงข้อมูลและติดตั้งโดยอัตโนมัติ


5

Python มีทางยาวไปก่อนที่จะสามารถเปรียบเทียบกับ R ได้มันมีแพ็คเกจน้อยกว่า R และคุณภาพต่ำกว่ามาก คนที่ยึดติดกับพื้นฐานหรือพึ่งพาเฉพาะห้องสมุดที่กำหนดเองของพวกเขาอาจจะทำงานของพวกเขาเฉพาะใน Python แต่ถ้าคุณเป็นคนที่ต้องการโซลูชันเชิงปริมาณที่สูงขึ้นฉันกล้าที่จะพูดว่าไม่มีอะไรมาใกล้ R

มันควรจะสังเกตด้วยว่าในวันนี้ Python ไม่มี IDE Matlab-style ทางวิทยาศาสตร์ที่เหมาะสมเทียบเท่ากับ R-Studio (โปรดอย่าพูด Spyder) และคุณต้องทำงานทุกอย่างบนคอนโซล โดยทั่วไปแล้วประสบการณ์ Python ทั้งหมดนั้นต้องการ "ความสุภาพ" ที่คนส่วนใหญ่ขาดและไม่สนใจ

อย่าเข้าใจฉันผิดฉันชอบ Python จริงๆแล้วมันเป็นภาษาที่ฉันชอบซึ่งแตกต่างจาก R ซึ่งเป็นภาษาการเขียนโปรแกรมจริง ถึงกระนั้นเมื่อมันมาถึงการวิเคราะห์ข้อมูลที่บริสุทธิ์ฉันขึ้นอยู่กับ R ซึ่งเป็นทางออกที่พิเศษที่สุดและได้รับการพัฒนาจนถึงปัจจุบัน ฉันใช้ Python เมื่อฉันต้องการรวมการวิเคราะห์ข้อมูลเข้ากับวิศวกรรมซอฟต์แวร์เช่นสร้างเครื่องมือที่จะทำงานอัตโนมัติในวิธีการที่ฉันตั้งโปรแกรมไว้ในสคริปต์ R สกปรก ในหลายครั้งฉันใช้ rpy2 เพื่อโทรหา R จาก Python เพราะในกรณีส่วนใหญ่แพ็คเกจ R นั้นดีกว่ามาก (หรือไม่มีอยู่ใน Python เลย) วิธีนี้ฉันพยายามทำให้ดีที่สุดทั้งสองโลก

ฉันยังคงใช้ Matlab สำหรับการพัฒนาอัลกอริธึมบริสุทธิ์เนื่องจากฉันชอบไวยากรณ์และความเร็วของคณิตศาสตร์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.