大熊猫无法识别索引

时间:2018-06-19 15:39:03

标签: python pandas dataframe

我有一个主数据框“ master_df”,其中一列为日期,另一列中为数据框列表。

在master_df内的每个数据框中,都有一列日期,以及与每个日期相关的价格。

我尝试执行以下操作:

prices = []
for index, row in master_df.iterrows():
    pre_data = pd.read_csv(Path + row['Dataframe'] + '.csv')
    data = pre_data.set_index('Date')
    prices.append(data.loc[row['Date'], 'Price'])

这将产生错误:     “标签[12/22/2002]不在索引中”

令人困惑的是,当我做同样的事情但手动输入日期时,它会起作用:

for index, row in master_df.iterrows():
    pre_data = pd.read_csv(Path + row['Dataframe'] + '.csv')
    data = pre_data.set_index('Date')
    prices.append(data.loc['12/22/2002', 'Price'])

将索引设置为日期后,我检查了索引的数据类型,该数据类型为字符串。我很困惑为什么当我将它作为字符串读取时用“ row ['Date']”抓取时为什么它不起作用,但是当手动输入时却起作用了。

我意识到,掌握这些价格可能是一种更简单的方法,请记住,这是大型复杂功能的一部分,因此,我只是在尝试找出此特定错误。换句话说,我必须用row ['Date']来抓取它。请告知我如何解决此错误。

谢谢!

1 个答案:

答案 0 :(得分:0)

“日期”列中“ master_df”中的数据类型是什么?也许是日期? row ['Date']。strftime(“%m /%d /%Y”)应该会有所帮助。

prices = []
for index, row in master_df.iterrows():
    pre_data = pd.read_csv(Path + row['Dataframe'] + '.csv')
    data = pre_data.set_index('Date')
    prices.append(data.loc[row['Date'].strftime("%m/%d/%Y"), 'Price'])