将一列中的值分组,而另一列中的值相同(熊猫:groupby.apply / multi-index)

时间:2019-03-22 02:24:15

标签: python pandas dataframe indexing apply

我正在使用以下数据框This is only a portion of the df

我想创建一个多索引数据框,其中顶级索引为title_no,子索引为所有共享相同release_no的{​​{1}}值。

我尝试使用groupby.apply方法,但这会将具有相同title_no的{​​{1}}分组到列表中,并消除了其余的列:

release_no's

This is the result

理想情况下,我希望数据框看起来像这样:

title_no

有没有一种方法可以在熊猫中做到这一点,在这里我可以列出同一df = pd.DataFrame(df.groupby('title_no')['release_no'].unique()).reset_index() 下的行,并且可以先用title_no release_no name country_id 199034 732644 Jurassic Park III ES        891376 Jurassic Park III CA 732658 Jurassic Park III TH 199052 1119213 Myth of Fingerprints IT 925041 Myth of Fingerprints ES 448432 Myth of Fingerprints US 564033 Myth of Fingerprints FR ... 然后用{{1 }}在较低级别?

1 个答案:

答案 0 :(得分:0)

您不需要groupby;排序就足够了:

df.sort_values(['title_no', 'release_no']).set_index(['title_no', 'release_no'])