آپدیت قیمت ها
from tehran_stocks import Stocks, db /.tse # توی این پوشه دیتابیس ما قرار گرفته است %pip install nest_asyncio import nest_asyncio; nest_asyncio.apply() from tehran_stocks.download import get_all_price get_all_price()
گرفتن یک سهام و تبدیل آن به یک دیتا فریم
stock = Stocks.query.filter_by(code="3492952121304423").first() stock.df
تغییر فرمت تاریخ شمسی و تبدیل آن به میلادی
from jdatetime import datetime as jdatetime def parse_persian_date(date_string): return jdatetime.strptime(date_string, '%Y/%m/%d').togregorian() parse_persian_date('1401/05/15') # datetime.datetime(2022, 8, 6, 0, 0) df['data2'] = df['تاریخ'].apply(parse_persian_date)
این هم یک نوع دیگر آن می باشد
import pandas as pd from jdatetime import datetime as jdatetime dateparser = lambda x: jdatetime.strptime(x,'%Y/%m/%d') df = pd.read_excel("ss.xlsx" ,date_parser=dateparser,parse_dates=["تاریخ"])
تشکیل دیتا فریم دریک سهام جمع ستون بای در حالیکه در ستون تایپ نوع بای باشد
for stock in stocks: stock_df = df.loc[df['stock'] == stock] stock_buy = stock_df.loc[stock_df['type'] == 'buy', 'buy'].sum() stock_sell = stock_df.loc[stock_df['type'] == 'sell', 'sell'].sum() stock_total = stock_buy - stock_sell print(f'Total amount of {stock} stock:', stock_total)
#نمایش از ابتدا تا ردیف ۵ fg[:5] # چند تا ستون و جدا کردیم و فقط یک ردیف ی از انتها را نشان بده stock.df[['open','high','low','close','vol']].tail(1) # تغییر نام ستون ها df.rename(columns={'open':'Open','high':'High','low':'Low','close':'Close','vol':'Volume'})
NaN to 0
df.fillna(0) dfpl[dfpl['pointposbreak'].notnull() ] # با این نام که خالی نیست را برمیگرداند
آپدیت قیمت ها
نظرات :