from nsepython import *
import requests
import pandas as pd
res = nse_optionchain_scrapper('HDFC')
def fetch_oi(expiry_dt):
ce_values = [data['CE'] for data in res['records']['data'] if "CE" in data and data['expiryDate'] == expiry_dt]
#print(ce_values)
pe_values = [data['PE'] for data in res['records']['data'] if "PE" in data and data['expiryDate'] == expiry_dt]
#print(pe_values)
df_ce = pd.DataFrame(ce_values).sort_values(['strikePrice'])
df_pe = pd.DataFrame(pe_values).sort_values(['strikePrice'])
pd.set_option('display.max_columns', None)
pd.set_option('display.max_row', None)
#print(df_pe.columns)
#print(df_pe)
mini_pe = (df_pe[['strikePrice','change','lastPrice','changeinOpenInterest','openInterest','underlyingValue']])
mini_pe.rename(columns = {'strikePrice':'STKS', 'change':'CHNG','lastPrice':'LTP', 'openInterest':'OI', 'changeinOpenInterest':'CH OI', 'underlyingValue':'UNDRLNG'}, inplace = True)
#print(mini_pe.columns)
print(mini_pe.to_string(index=False))
def main():
expiry_dt = '29-Sep-2022'
fetch_oi(expiry_dt)
if __name__ == '__main__':
main()
我正在试着重命名这些柱子,但我无法联系到这里的错误之处。请帮我查一下。我还翻阅了文档,但无法理解。
Output screenshot这是我的输出屏幕截图...
1条答案
按热度按时间kqqjbcuj1#
基本上,脚本没有问题,这不是一个错误-所以Pandas基本上是在警告您,您正试图在原始 Dataframe 的副本上执行重命名。有时,这可能会产生意想不到的结果。其中,df_pe是原始 Dataframe 。阅读更多关于Pandas的链分配的内容。要修复它,请使用此命令