根据现有列数据将新列添加到PandasDataFrame时的NaN值

zdwk9cvp  于 2023-01-07  发布在  其他
关注(0)|答案(1)|浏览(121)

我尝试在Pandas数据框中创建一个新列,它基于另一个现有列。我从列Name中提取字符10:19,并将其添加为新列expiry。但是expiry中的大多数数据显示为nan。我是python和Pandas的新手。我该如何解决这个问题?

allowedSegment = [14]
index_symbol = "BANKNIFTY"

fno_url = 'http://public.fyers.in/sym_details/NSE_FO.csv'
fno_symbolList = pd.read_csv(fno_url, header=None)
fno_symbolList.columns = ['FyersToken', 'Name', 'Instrument', 'lot', 'tick', 'ISIN', 'TradingSession', 'Lastupdatedate',
                           'Expirydate', 'Symbol', 'Exchange', 'Segment', 'ScripCode', 'ScripName', 'Ignore_1',
                          'StrikePrice', 'CE_PE', 'Ignore_2']

fno_symbolList = fno_symbolList[fno_symbolList['Instrument'].isin(allowedSegment) & (fno_symbolList['ScripName'] == index_symbol)]

fno_symbolList['expiry'] = fno_symbolList['Name'][10:19]
t30tvxxf

t30tvxxf1#

处理列中的字符串并对其执行操作时,请尝试以下操作:

fno_symbolList['expiry'] = fno_symbolList['Name'].str[10:19]

str允许您对列执行字符串操作。

相关问题