반응형
이 같은 입력 데이터로 시작합니다.
df1 = pandas.DataFrame( {
"Name" : ["Alice", "Bob", "Mallory", "Mallory", "Bob" , "Mallory"] ,
"City" : ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"] } )
인쇄 할 때 다음과 같이 나타납니다.
City Name
0 Seattle Alice
1 Seattle Bob
2 Portland Mallory
3 Seattle Mallory
4 Seattle Bob
5 Portland Mallory
그룹화는 간단합니다.
g1 = df1.groupby( [ "Name", "City"] ).count()
인쇄하면 GroupBy
개체가 생성됩니다.
City Name
Name City
Alice Seattle 1 1
Bob Seattle 2 2
Mallory Portland 2 2
Seattle 1 1
하지만 결국 내가 원하는 것은 GroupBy 개체의 모든 행을 포함하는 또 다른 DataFrame 개체입니다. 즉, 다음과 같은 결과를 얻고 싶습니다.
City Name
Name City
Alice Seattle 1 1
Bob Seattle 2 2
Mallory Portland 2 2
Mallory Seattle 1 1
pandas 문서에서 이것을 수행하는 방법을 볼 수 없습니다. 모든 힌트를 환영합니다.
해결 방법
여기서 g1
은 DataFrame 입니다 . 하지만 계층 적 색인이 있습니다.
In [19]: type(g1)
Out[19]: pandas.core.frame.DataFrame
In [20]: g1.index
Out[20]:
MultiIndex([('Alice', 'Seattle'), ('Bob', 'Seattle'), ('Mallory', 'Portland'),
('Mallory', 'Seattle')], dtype=object)
아마도 이런 걸 원하시나요?
In [21]: g1.add_suffix('_Count').reset_index()
Out[21]:
Name City City_Count Name_Count
0 Alice Seattle 1 1
1 Bob Seattle 2 2
2 Mallory Portland 2 2
3 Mallory Seattle 1 1
또는 다음과 같습니다.
In [36]: DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()
Out[36]:
Name City count
0 Alice Seattle 1
1 Bob Seattle 2
2 Mallory Portland 2
3 Mallory Seattle 1
참조 페이지 https://stackoverflow.com/questions/10373660
반응형
'파이썬' 카테고리의 다른 글
파이썬 함수형 프로그래밍의 'fold'함수에 해당하는 'pythonic'은 무엇입니까? (0) | 2021.02.19 |
---|---|
파이썬 동일한 X 좌표가있는 막대 그래프를 나란히 표시하는 방법 ( 'dodged') (0) | 2021.02.19 |
파이썬 Keep Alive를 사용하는 Python urllib2 (0) | 2021.02.19 |
파이썬 주어진 디렉토리에있는 파일을 어떻게 반복 할 수 있습니까? (0) | 2021.02.19 |
파이썬 Python의 정적 클래스 (0) | 2021.02.19 |
댓글