Pandas DataFrame将列添加到索引而不重置

use*_*053 36 python dataframe pandas

如何添加'd'到下面的索引而不必先重置它?

from pandas import DataFrame
df = DataFrame( {'a': range(6), 'b': range(6), 'c': range(6)} )
df.set_index(['a','b'], inplace=True)
df['d'] = range(6)

# how do I set index to 'a b d' without having to reset it first?
df.reset_index(['a','b','d'], inplace=True)
df.set_index(['a','b','d'], inplace=True)

df
Run Code Online (Sandbox Code Playgroud)

Wes*_*ney 59

我们添加了一个append选项set_index.试试吧.

命令是:

df.set_index(['d'], append=True)
Run Code Online (Sandbox Code Playgroud)

(我们不需要指定['a','b'],因为它们已经在索引中并且我们附加到它们)

  • 有没有办法附加其他索引?将新索引作为第一个索引而不是最后一个索引。 (2认同)
  • 专业提示,如果您不存储结果,请不要忘记 `inplace=True` (2认同)