use*_*305 3 python indexing append series 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)
Run Code Online (Sandbox Code Playgroud)
该程序有效,但我收到错误消息:
“第 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
Run Code Online (Sandbox Code Playgroud)
对于您要运行的算法,您可以简单地使用赋值:
strikes = rawData['Symbol'].str[-6:].astype(float) / 1000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9507 次 |
| 最近记录: |