使用列表索引多索引数据框
Indexing a multi-indexed dataframe using a list
我有一个这样创建的多索引 pandas 数据框:
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
如有任何帮助,我们将不胜感激!
如果有人需要这个,我最终通过用元组而不是列表索引多索引来解决它。所以对上述代码的修改将是:
state = [300, 1, 1.0]
optimal_actions.loc[tuple(state)] = [-1, -0.2]
我有一个这样创建的多索引 pandas 数据框:
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
如有任何帮助,我们将不胜感激!
如果有人需要这个,我最终通过用元组而不是列表索引多索引来解决它。所以对上述代码的修改将是:
state = [300, 1, 1.0]
optimal_actions.loc[tuple(state)] = [-1, -0.2]