Bagaimana untuk Menyelesaikan Ralat \'TypeError: string indeks mestilah integer\' semasa Mengakses Data Kewangan Yahoo dengan Pandas Datareader?

Linda Hamilton
Lepaskan: 2024-10-21 15:38:29
asal
759 orang telah melayarinya

How to Resolve the

TypeError apabila Mengakses Data Kewangan Yahoo dengan Pandas Datareader

Apabila mendapatkan semula data stok daripada Yahoo Finance menggunakan Pandas Datareader, pengguna mungkin menghadapi "TypeError : indeks rentetan mestilah ralat integer". Isu ini boleh timbul apabila parameter 'simbol' menjangkakan senarai rentetan tetapi sebaliknya menemui rentetan.

Untuk menyelesaikan ralat ini, pastikan parameter 'simbol' ialah senarai pengecam saham. Berikut ialah contoh kod yang berfungsi:

<code class="python">import pandas_datareader

end = "2022-12-15"
start = "2022-12-15"
stock_list = ["TATAELXSI.NS"]

data = pandas_datareader.get_data_yahoo(symbols=stock_list, start=start, end=end)

print(data)</code>
Salin selepas log masuk

Selain itu, pengguna GitHub bernama raphi6 telah memberikan permintaan tarik dengan pembetulan untuk isu ini. Untuk memasang pembaikan ini, ikut langkah berikut:

  1. Pasang kebergantungan berikut:

    conda install pycryptodome pycryptodomex
    Salin selepas log masuk
  2. Nyahpasang versi semasa Pandas Datareader:

    conda uninstall pandas-datareader
    Salin selepas log masuk
  3. Pasang versi permintaan tarik Pandas Datareader:

    pip install git+https://github.com/raphi6/pandas-datareader.git@ea66d6b981554f9d0262038aef2106dda7138316
    Salin selepas log masuk

Sebagai alternatif, pengguna bernama Nikhil Mulley telah mencadangkan penyelesaian yang melibatkan fungsi pdr_override(). Fungsi ini boleh digunakan seperti berikut:

<code class="python">import pandas_datareader as pdr
import pandas as pd

end = "2022-12-15"
start = "2022-12-15"
stock_list = ["TATAELXSI.NS"]

stock_symbol = stock_list[0]
stock_obj = pdr.DataReader(stock_symbol, 'yahoo', start, end)
stock_data = pd.DataFrame({stock_symbol: stock_obj['Close']})
</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'TypeError: string indeks mestilah integer\' semasa Mengakses Data Kewangan Yahoo dengan Pandas Datareader?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!