Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengelakkan Ralat \'TypeError: indeks rentetan mestilah integer\' Semasa Mengakses Data Saham Kewangan Yahoo dengan Pandas Datareader?

Bagaimana untuk Mengelakkan Ralat \'TypeError: indeks rentetan mestilah integer\' Semasa Mengakses Data Saham Kewangan Yahoo dengan Pandas Datareader?

DDD
DDDasal
2024-10-21 15:42:30866semak imbas

How to Avoid the

TypeError: "indeks rentetan mestilah integer" apabila Mengakses Data Stok Kewangan Yahoo Menggunakan Pandas Datareader

Isu

Apabila menggunakan Pandas Datareader untuk mendapatkan stok data daripada Yahoo Finance, pengguna mungkin menghadapi ralat "TypeError: indeks rentetan mestilah integer" semasa mengakses data untuk stok tertentu. Ini berlaku apabila terdapat ketidakpadanan antara jenis data yang dijangkakan untuk parameter simbol dan jenis sebenar yang dihantar kepada kaedah get_data_yahoo.

Sebab

Kaedah get_data_yahoo menjangkakan rentetan atau senarai rentetan sebagai input untuk parameter simbol, yang mewakili simbol ticker bagi saham yang akan diambil. Walau bagaimanapun, jika jenis data yang tidak sesuai diberikan, seperti integer atau senarai integer, penukaran kepada rentetan mungkin mengakibatkan ralat.

Penyelesaian

Untuk menyelesaikan ralat, pastikan bahawa parameter simbol dinyatakan dengan betul:

  1. Untuk Stok Tunggal: Jika mengakses data untuk satu stok, nyatakan simbol ticker sebagai rentetan yang disertakan dalam tanda petikan.
  2. Untuk Berbilang Stok: Jika mengakses data untuk berbilang stok, sediakan senarai rentetan yang mewakili simbol detik. Pastikan senarai diformat dengan betul dengan kurungan dan tanda petikan yang melampirkan setiap simbol.

Contoh untuk Stok Tunggal:

<code class="python">import pandas_datareader

start = "2022-12-15"
end = "2022-12-15"
symbol = "TATAELXSI.NS"

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

print(data)</code>

Contoh untuk Stok Berbilang:

<code class="python">import pandas_datareader

start = "2022-12-15"
end = "2022-12-15"
symbols = ["TATAELXSI.NS", "TCS.NS", "RELIANCE.NS"]

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

print(data)</code>

Dengan mengikut langkah ini, pengguna boleh berjaya mengakses data stok daripada Yahoo Finance menggunakan Pandas Datareader dan mengelakkan ralat "TypeError: indeks rentetan mestilah integer".

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

Kenyataan:
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