所以我有一个数据框,其中有不同的Reliance Stock价格列。在使用df.index
之后,我可以看到数据帧的索引是Date。但是,当我使用df["Date"]
时,它会提示我
AttributeError:“ DataFrame”对象没有属性“ Date”
data = nsepy.get_history(symbol = "RELIANCE",start = datetime.date(2018,1,1) , end = datetime.datetime.now().date())
data["Date"]
为什么我无法选择此数据框的第一列?
答案 0 :(得分:0)
答案 1 :(得分:0)
在这种情况下,“日期”是索引。因此,您必须要做data.index或像data.reset_index()['Date']这样使用reset_index。
答案 2 :(得分:0)
您尚未共享有关原始数据框的详细信息。 尝试打印列以查看“数据”列是否存在
print(data.columns)
如果您在列表中没有看到“数据”,则您的数据框不包含此列,或者它是索引列。如果是后者,则可以使用
data.index
答案 3 :(得分:0)
“日期”是数据框的索引,而不是列。
只能使用df.columns
访问df[<col_name>]
输出的列。
要检查数据框的索引,只需执行:df.index
。
示例:
df = pd.DataFrame([{"A": 10, "B": 5}, {"A":20, "B": 4}, {"A": 14, "B": 200}])
df = df.set_index('A')
print(df.index)
输出为:
Int64Index([10, 20, 14], dtype='int64', name='A')
要将数据框的特定列设置为索引:
df = df.set_index(<col-name>)
要撤消上述操作(将当前索引转换为列):
df.reset_index(inplace=True)
重置索引后,您将可以像常规列一样访问“日期”,因为它不再是数据框的索引。