如何按公司名稱或代碼查找標準普爾 500 股票資料的資料框:
Company Symbol Weight Price Chg % Chg
4 Alphabet Inc. Class A GOOGL 2.173993 2924.72 -8.38 (-0.29%)
現在,我正在列印,print(df.loc[[4]])因為在我的串列中 Google 是索引號 4。我想知道是否存在另一個loc命令,以便如果輸入是符號或名稱,則將列印相同的內容。下面我附上了我當前的代碼:
# Web-scraped S&P 500 data for 500 US stocks.
import requests
import pandas as pd
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62'}
url = 'https://www.slickcharts.com/sp500' # Data from SlickCharts
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.text, 'html.parser')
table1 = soup.find('table', attrs={'class':'table table-hover table-borderless table-sm'})
for row in table1.find_all('tr'):
all_td_tags = row.find_all('td')
if len(all_td_tags) > 0:
company = all_td_tags[1].text
symbol = all_td_tags[2].text
weight = all_td_tags[3].text
price = all_td_tags[4].text
chg = all_td_tags[5].text
perChg = all_td_tags[6].text
# print(company, '|', symbol, '|', weight, '|', price, '|', chg, '|', perChg)
df = pd.read_html(str(table1))[0]
df.drop(['#'], axis = 1, inplace = True)
print(df.loc[[4]])
[背景:我正在嘗試使用 S&P 500 資料制作股票模擬器游戲,該資料是從主機網站上抓取的。]
uj5u.com熱心網友回復:
您可以通過以下方式查找行:
df[df['Symbol'] == 'GOOGL']
輸出:

uj5u.com熱心網友回復:
建議您將股票代碼作為索引df.set_index('Symbol')。然后您可以執行以下任一操作:
按符號查找
df.loc['GOOGL']
按公司名稱查詢
df[df['Company'] == 'Name of Company']
(可能通過 Symbol 查找是常見的情況。這就是您將其設為索引的原因。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/398827.html
上一篇:將索引重新排序為特定順序
下一篇:如何排列熊貓資料透視表列?
