[英]Python - Operations in Pandas Dataframe
我有這個 dataframe,它是從 excel 文件中讀取的:
我想知道給定列的值,應用規則,然后更新它。 我正在嘗試這個:
ticker='BTCUSDT'
print(df.at[ticker,'Position'])
#Then, I want to update that value:
df.at[ticker,'Position']=1
當我這樣做時,我得到一個Key Error 。 在這個例子中: KeyError: 'BTCUSDT'
預期的:
print=0
cell after assign = 1
但是,如果我首先為單元格分配一個值,這會起作用,例如:
如果我首先這樣做:
ticker='BTCUSDT'
df.at['BTCUSDT','Position']=0
#then this works:
ticker='BTCUSDT'
df.at[ticker,'Position']
df.at[ticker,'Position']=1
我究竟做錯了什么?
提前致謝。
Ticker 不是索引,而只是一列。 如果你這樣做df = df.set_index('Ticker')
你應該很好
以下代碼將在Ticker
列中查找代碼值BTCUSDT
,
並將關聯的Position
列中的值更改為1
。
ticker='BTCUSDT'
df.loc[df['Ticker'] == ticker, 'Position'] = 1
如果您有以下 dataframe:
df = pd.DataFrame({ 'Ticker': ['BTCBUSD', 'ETHBUSD', 'LTCBUSD', 'SOLBUSD', 'FIMUSDT'],
'Position': [0,0,0,0,0],
'Quantity': [0,0,0,0,0],
'Price':[0,0,0,0,0]})
您可以使用相同的方式將 BTCBUSD 的BTCBUSD
值更新為1
:
ticker='BTCBUSD'
df.loc[df['Ticker'] == ticker, 'Position'] = 1
print(df)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.