Soru
için GroupBy nesneyi dönüştürün. Her ikisi de DataFrame
döndürdüğünü bildiğim count()
veya aggregate()
gibi GroupBy
yöntemini kullanır. Ne soruyorum GroupBy
(sınıf pandas.core.groupby.DataFrameGroupBy
) nesnesinin kendisini bir DataFrame
'a dönüştürmek. Aşağıda göstereceğim. aşağıdaki gibi Python Pandalar Orada benzer iki soru vardır ancak bunlar aynı soruyu değiliz DataFrame
Örnek örnek DataFrame
oluşturun. data_list = []
for name in ["sasha", "asa"]:
for take in ["one", "two"]:
row = {"name": name, "take": take, "score": numpy.random.rand(), "ping": numpy.random.randint(10, 100)}
data_list.append(row)
data = pandas.DataFrame(data_list)
data_list = []
for name in ["sasha", "asa"]:
for take in ["one", "two"]:
row = {"name": name, "take": take, "score": numpy.random.rand(), "ping": numpy.random.randint(10, 100)}
data_list.append(row)
data = pandas.DataFrame(data_list)
yukarıdaki DataFrame
name ping score take
0 sasha 72 0.923263 one
1 sasha 14 0.724720 two
2 asa 76 0.774320 one
3 asa 71 0.128721 two
Ne yapmak istiyorum ben sütunları "isim" inşa multiindex tarafından dizine bir DataFrame
alabilmeleri, (bu sırayla) "almak" sütunlarında "adı," grubuna ve ve "al", aşağıdakine benzer.
score ping
name take
sasha one 0.923263 72
two 0.724720 14
asa one 0.774320 76
two 0.128721 71
Bunu nasıl başarabilirim? grouped = data.groupby(["name", "take"])
yaparsam, grouped
bir pandas.core.groupby.DataFrameGroupBy
örneğidir. grouped
'u DataFrame
örneğine nasıl dönüştürebilirim?
Oooooh !!!! Riiiiiight !!!!! OK Stack Overflow bana izin verdiğinde bu cevabı 9 dakika içinde kabul ediyorum. Teşekkür ederim. – Ray
Bu yanıtı kullanmaya çalıştığımda, bir "AttributeError" alıyorum. "DataFrameGroupBy" nesnesinin "set_index" callable özniteliğine erişilemiyor, 'apply' yöntemini kullanmayı deneyin. " – Nate
@Nate - Veri" DataFrame "değil, groupby çıktı - yani g = df.groupby ('col') 've sonra g.apply (lambda x: x ['col1']. set_index())' – jezrael