gpt4 book ai didi

python - 如何在 Pandas 系列中用 at[] 替换 set_value

转载 作者:行者123 更新时间:2023-12-04 02:56:48 27 4
gpt4 key购买 nike

我正在尝试构建一个 pandas 系列以连接到数据框上。

import numpy as np
import pandas as pd

rawData = pd.read_csv(input, header=1) # the DataFrame

strikes = pd.Series() # the empty Series
for i, row in rawData.iterrows():
sym = rawData.loc[i,'Symbol']
strike = float(sym[-6:])/1000
strikes = strikes.set_value(i, strike)
print("at26: ",strikes.values)

这个程序可以运行,但我收到错误消息:

“第 25 行:FutureWarning:set_value 已弃用,将在未来版本中删除。请改用 .at[] 或 .iat[] 访问器。”

我尝试替换 .at 的每一种方式,都会出现语法错误。发布的许多建议都与 DataFrames 有关,而不是 Series。 Append 需要另一个系列,并在我给它一个标量时提示。

正确的做法是什么?

最佳答案

strikes.set_value(i, strike) 替换为 strikes.at[i] = strike

请注意,使用set_value 不需要返回到系列:

s = pd.Series()

s.set_value(0, 10)
s.at[1] = 20

print(s)

0 10
1 20
dtype: int64

对于您要运行的算法,您可以简单地使用赋值:

strikes = rawData['Symbol'].str[-6:].astype(float) / 1000

关于python - 如何在 Pandas 系列中用 at[] 替换 set_value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52770563/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com