Discover your dream Career
For Recruiters

R is better than Python. Try telling that to banks

Most serious data scientists prefer R to Python, but if you want to work in data science or machine learning in an investment bank, you're probably going to have to put your partiality to R aside. Banks overwhelmingly use Python instead.

"Python is preferred to R in banks for a number of reasons," says the New York-based head of data science at one leading bank. "There's greater availability of machine learning packages like sklearn in Python; it's better for generic programming tasks and is more easily productionized; plus Python's better for data cleaning (like Perl used to be) and for text analysis." 

For this reason, he said banks have moved their data analysis to Python almost entirely. There are a few exceptions: some strats jobs use R, but for the most part Python predominates.

Nonetheless, R still has its fans. Jeffrey Ryan, the former star quant at Citadel is a big proponent of R and runs an annual conference on R in finance (canceled this year due to COVID-19). "R was designed to be data-centric and was researcher built," says Ryan. "Whereas Python co-opted R's data frame and time series, via Pandas [the open source software library for data manipulation in Python built by Wes McKinney, a former software developer at Two Sigma.]"

R is still used in statistical work and research, says Ryan. By comparison, Python is the tool of "popular data analysis," and is easy to use without learning statistics. "Python found a whole new audience of programmers at the exact right moment in history," Ryan reflects. "When programmers (more numerous than statisticians) want to work with data, Python has the appeal of a single language that "does it all" - even if it technically does none of this by design." 

Given the importance of data in financial services, it might be presumed that banks would favor the more capable language, even if it does require extra effort to master. However, Graham Giller, chief executive officer at Giller Investments and a former head of data science research at JPMorgan and Deutsche Bank, says banks have settled on Python over R because banks' IT departments are predominantly run by computer scientists rather than people who care a lot about data.

"Personally I like R a lot," says Giller. "R is much more of a tool for professional statisticians, meaning people who are interested in inference about data, rather than computer scientists who are people interested in code." As the computer scientists in banks have gained traction, Giller says banks have "replaced quants with IT professionals or with quants who deep down want to be IT professionals," and they've brought Python with them. 

For the pure mathematicians in finance, it's all a bit frustrating. Pandas was built on the back of R, but has taken on a life of its own. "Pandas started out as a way to bring an R like environment to Python," says Giller, observing that Pandas can be "horrifically slow and inefficient" by comparison.

Most people don't care about this though: the more that Python and Pandas are used, the more use cases they have. "R has a relatively smaller user base than Python at this point," says Ryan. "This in turn means a lot of tools start to get created around python and data, and it builds upon its success."

Have a confidential story, tip, or comment you’d like to share? Contact: in the first instance. Whatsapp/Signal/Telegram also available.

Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)

Photo by Vitaly Vlasov from Pexels

AUTHORSarah Butcher Global Editor
  • Al
    Alexander Grigorchuk
    2 October 2021

    "Most serious data scientists prefer R to Python"
    I should have stopped reading at this statement.

  • th
    30 September 2021

    As someone who actively uses both, this article seems like it was written by someone who has never actually had to engineer a software system. R is like a super fancy calculator, yeah it might be easier for you to use the TI-89 since you already know how to use it, but that doesn't mean it is a good tool to build a reliable system, you wouldn't use a TI-89 to run a banking system.

  • Pa
    30 September 2021

    Most serious data scientists DO NOT prefer R to Python from the linked article, and are you stating all banks choosing Python aren't serious?

  • Ky
    29 September 2021

    I think this topic is annoying and over discussed.

    Both languages are nice to use.
    1) If you come now in the market, or let's say the last 5 years then only python is enought for basic analytics,ML etc
    - In the past, you should know very good R. Now if y don't know python y just cannot work in this field. If y don't know R no problem.

    1) R historically is the analytics, predictive modelling, ML language. I started using it in 2001. Python started become popular around 2014-15 by adapted R and MATLAB modules.
    2) R users mainly are only statisticians, econometricians etc like me.
    3) Python is statisticians and all others, this is the reason that became popular + it is OOP + many many others professionals from computer science, physicians, mathematician coming to analytics data science. So we need one language.

    -yes python is easier to learn, even if for me.
    -yes R is better in RIsk, Analysis, statistics, time series, visualisation, probabilities as richer. Deep learning /ML is python school
    - personal I use both, but if I had to choose one I would invest my time in python as I do the last years.

    But the reality is R is advantageous over python in too many things when come to analysis. Python just copied it, it never were the data analytics language. but it is an easy programming language to learn and use effectively. It is advantageous over R as OPP coding and most important finally we can all use 1 language for analysing and models and communicate each other that's the most important!!!

  • qu
    29 September 2021

    not sure that making a statement like "R is better than python" makes it true. no evidence for the superiority of R over python given.

Sign up to Morning Coffee!

Coffee mug

The essential daily roundup of news and analysis read by everyone from senior bankers and traders to new recruits.

Boost your career

Find thousands of job opportunities by signing up to eFinancialCareers today.
Recommended Articles
Recommended Jobs

Sign up to Morning Coffee!

Coffee mug

The essential daily roundup of news and analysis read by everyone from senior bankers and traders to new recruits.