我在DataFrame
symbolData
中有以下数据:
Open High Low Close Volume Ex-Dividend Split Ratio Adj. Open Adj. High Adj. Low Adj. Close Adj. Volume
Date
1980-12-12 28.75 28.8700 28.7500 28.75 2093900.0 0.0 1.0 0.424421 0.426193 0.424421 0.424421 117258400.0
当我得到series
列Adj Close
时,我想给它一个名字:
adjClose = symbolData.ix[:,10]
现在,上面看起来像
Date
1980-12-12 0.424421
我希望它看起来像
AlgoClose
Date
1980-12-12 0.424421
答案 0 :(得分:6)
这将完成这项工作:
adjClose = symbolData.ix[:,10].rename("AlgoClose")
adjClose =pd.DataFrame(adjClose)
答案 1 :(得分:2)
使用ix
定义系列后,可以使用以下命令设置其名称:
adjClose.name = 'adjClose'
或者,您可以在定义系列时保留原始列名,如下所示:
adjClose = symbolData['Adj. Close']
这个'命名系列'不会显示你的要求,但它会显示如下:
Date
1980-12-12 0.424421
Name: adjclose, dtype: float64
如果按照您的意愿显示更重要,而不是将其保留为系列,而不是像Miriam的回答中那样将其转换为单列DataFrame
。
答案 2 :(得分:0)
您可以重命名系列,然后使用.to_frame将其转换为数据框。此外,使用iloc而不是ix会更好,因为它将来会被弃用。
df.iloc[:,10].rename('AlgoClose').to_frame()
Out[20]:
AlgoClose
Date
1980-12-12 0.424421
答案 3 :(得分:0)
您还可以将to_frame(name)
函数与name
参数一起使用:
symbolData.ix[:,10].to_frame(name='AlgoClose')