我正在嘗試使用 for 回圈創建字典。但是,不知道為什么,bx3 和 box 中的專案大約是 200 ,但是當我顯示 dicts 時,只生成了 22 個專案。任何人都可以解釋我做錯了什么?我確保在創建字典之前在 for 回圈中考慮專案的長度,但結果很奇怪。任何幫助將不勝感激!

import pandas as pd
import yfinance as yf
import pandas_ta as ta
char2 = ['a','b','c','d','e','f','g','h','i','j','k','l',
'm','n','o','p','q','r','s','t','u','v','w','x','y','z']
rep2 = [1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8]
x=[4,9]
x2= list(dict.fromkeys(x))
lx=[]
for n1,v1 in enumerate(rep2):
for j in x2:
if v1==j:
lx.append((char2[n1]).upper())
print(lx)
print('')
#read_asx_ticker
ASXLIST_FILE = 'https://www.asx.com.au/asx/research/ASXListedCompanies.csv'
df =pd.read_csv(ASXLIST_FILE,header=1)
codelist = df['ASX code'].values
codesector = df['GICS industry group'].values
dd=lx
box=[]
box2=[]
bx=[]
bx2=[]
bx3=[]
for i in range(0,len(codesector)):
if 'Not' not in codesector[i]:
if len(set(dd).intersection(codelist[i]))>2:
box.append(codelist[i])
bx2.append(codesector[i])
elif len(set(dd).intersection(codelist[i]))==2:
box2.append(codelist[i])
bx3.append(codesector[i])
bx.append(codelist[i] '/' codesector[i])
dicts={}
for i in range(0,len(bx3)):
dicts[bx3[i]]= box2[i]
uj5u.com熱心網友回復:
發生這種情況是因為您在 bx3 串列中只有 22 個唯一值。
具體來說,您重復了這些值:
“消費服務”:6,“材料”:103,“醫療設備和服務”:15,“商業和專業服務”:8,“資本貨物”:13,“軟體和服務”:12,“多元化金融” ': 7, '能源': 10, '交通': 1, '公用事業': 2, '零售': 5, '房地產': 5, '科技硬體與設備': 3, '醫藥、生物科技與生活科學”:10,“家居和個人產品”:1,“食品和必需品零售”:1,“食品、飲料和煙草”:4,“媒體和娛樂”:6,“耐用消費品和服裝”:1, “銀行”:1,“半導體與半導體設備”:1,“汽車與零部件”:2
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/417780.html
標籤:
上一篇:讓變數變成物件名稱
