Skip to content

Incompatibility with talib (expected numpy.ndarray, got DataFrame) #2107

@finisky

Description

@finisky

Describe bug

talib cannot accept dataframe as input:

Traceback (most recent call last):
  File "/data/1.py", line 7, in <module>
    df['SMA_5'] = ta.SMA(df['Close'], timeperiod=5)
  File "/data/miniconda3/envs/a/lib/python3.10/site-packages/talib/__init__.py", line 64, in wrapper
    result = func(*_args, **_kwds)
TypeError: Argument 'real' has incorrect type (expected numpy.ndarray, got DataFrame)

It works for yf 0.2.44, but not work for 0.2.46+.

Simple code that reproduces your problem

import talib as ta
import yfinance as yf

df = yf.download("MSFT", period='5d')
df['SMA'] = ta.SMA(df['Close'], timeperiod=3)

Debug log

N/A

Bad data proof

No response

yfinance version

0.2.48

Python version

3.10.13

Operating system

Ubuntu 22.04

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions