[英]Pandas DataFrame - KeyError: 'date'
对于当前的项目,我正在使用来自 JSON 文件的大型 Pandas DataFrame。
只要在 Pandas 中调用 JSON 文件的特定对象,我就会收到诸如 KeyError KeyError: 'date'
for line df['date'] = pd.to_datetime(df['date'])
类的关键错误。
我已经排除了标识符/对象措辞作为错误的可能来源。 是否有任何智能调整可以使此代码正常工作?
JSON 文件具有以下结构:
[
{"stock_symbol": "AMG", "date": "2013-01-01", "txt_main": "ABC"}
]
相应的代码部分如下所示:
import string
import json
import pandas as pd
# Loading and normalising the input file
file = open("sp500.json", "r")
data = json.load(file)
df = pd.json_normalize(data)
df = pd.DataFrame().fillna("")
# Datetime conversion
df['date'] = pd.to_datetime(df['date'])
查看 fillna function fillna function的文档示例。
通过执行df = pd.DataFrame().fillna("")
您正在用新的(空的)dataframe 覆盖以前的 df。 你可以这样应用它: df = df.fillna("")
。
In [42]: import string
...: import json
...: import pandas as pd
...:
...: # Loading and normalising the input file
...: #file = open("sp500.json", "r")
...: #data = json.load(file)
...: df = pd.json_normalize(a)
...: #df = pd.DataFrame().fillna("")
...:
...: # Datetime conversion
...: df['date'] = pd.to_datetime(df['date'])
In [43]: df
Out[43]:
stock_symbol date txt_main
0 AMG 2013-01-01 ABC
df = pd.DataFrame().fillna("")
创建一个新的空 dataframe 并用空填充“NaN”。
因此,将该行更改为df = df.fillna("")
您正在使用df = pd.DataFrame().fillna("")
它将创建一个新的 dataframe 并填充一个没有值。
这里旧的 df 被空的 dataframe 替换,所以没有名为date的列。 相反,您可以使用df.fillna("")
填充“na”值。
import string
import json
import pandas as pd
# Loading and normalising the input file
file = open("sp500.json", "r")
data = json.load(file)
df = pd.json_normalize(data)
df = df.fillna("")
# Datetime conversion
df['date'] = pd.to_datetime(df['date'])
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.