簡體   English   中英

Python - Pandas 中的操作 Dataframe

[英]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)

Output:

更新數據框

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM