繁体   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