使用lis索引多索引数据帧

2024-06-11 00:21:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个多索引数据帧,如下所示:

m_index = ['time_remaining', 'inventory']
for i in indicators:
    m_index.append(i.name)
cols = []
for col in m_index:
    cols.append(col)
cols.append('action')
cols.append('cost')

optimal_actions = pd.DataFrame(columns=cols)
optimal_actions.set_index(m_index, inplace=True)

然后我有一个索引值列表:

state_variables = [indicator.value for indicator in indicators]
state = [time_remaining, i*trade_size]      
state.extend(state_variables)

我试图将值列表索引的行设置为一个值:

state = [300, 1, 1.0]
optimal_actions.loc[state] = [-1, -0.2]

这给了我一个严重的错误:

ValueError: zero-size array to reduction operation maximum which has no identity

任何帮助都将不胜感激


Tags: inactions列表forindextimeoptimalcol
1条回答
网友
1楼 · 发布于 2024-06-11 00:21:07

如果有人需要这个,我最终会通过元组而不是列表来索引多索引来解决它。所以对上述代码的修改是:

state = [300, 1, 1.0]
optimal_actions.loc[tuple(state)] = [-1, -0.2]

相关问题 更多 >