44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
|
|
import yfinance as yf
|
|
import pandas as pd
|
|
|
|
ticker = "GOOGL"
|
|
print(f"Fetching data for {ticker}...")
|
|
# Mimic DataRegistrar/interface logic
|
|
data = yf.download(ticker, period="1mo", interval="1d")
|
|
|
|
print("\n--- DataFrame Info ---")
|
|
print(data.info())
|
|
|
|
print("\n--- Columns ---")
|
|
print(data.columns)
|
|
|
|
print("\n--- Head ---")
|
|
print(data.head())
|
|
|
|
# Check for MultiIndex
|
|
if isinstance(data.columns, pd.MultiIndex):
|
|
print("\n[CRITICAL] DataFrame has MultiIndex columns!")
|
|
print("Levels:", data.columns.nlevels)
|
|
else:
|
|
print("\n[OK] Single Index columns.")
|
|
|
|
# Simulate Market Analyst Logic
|
|
|
|
print("\n--- Market Analyst Logic Logic ---")
|
|
if 'Close' in data.columns:
|
|
print("Direct 'Close' found.")
|
|
price_data = data['Close']
|
|
print(f"Type of data['Close']: {type(price_data)}")
|
|
print(f"Shape of data['Close']: {price_data.shape}")
|
|
|
|
if isinstance(price_data, pd.DataFrame):
|
|
print("ALERT: data['Close'] is a DataFrame! MarketAnalyst might expect Series.")
|
|
if price_data.shape[1] == 1:
|
|
print("It has 1 column. Flattening...")
|
|
price_data = price_data.iloc[:, 0]
|
|
print(f"New Type: {type(price_data)}")
|
|
|
|
else:
|
|
print("Direct 'Close' NOT found.")
|