1
일부 컴퓨터 학습 작업을하고 있는데, "번호가 매겨진 객체"에서 "일부 attrs 객체별로 정렬"로 각 줄을 변경하고 싶습니다.팬더를 줄 단위로 그룹화합니다.
예를 들어 두 팀의 영웅이 각각 통계 (dN_ % stat % 및 rN_ % stat %)로 표시되며, 각 팀의 영웅을 3,4,0, 2 그래서 첫 번째가 가장 강합니다. 여기
내 현재 코드이지만, 그것은 매우 느린, 그래서 기본 팬더 객체와 작업을 사용하려면 :하지 가득하지만 유용한 데이터 표현과def sort_heroes(df):
for match_id in df.index:
for team in ['r', 'd']:
heroes = []
for n in range(1,6):
heroes.append(
[df.ix[match_id, '%s%s_%s' % (team, n, stat)]
for stat in stats])
heroes.sort(key=lambda x: (x[3], x[4], x[0], x[2]))
for n in range(1,6):
for i, stat in enumerate(stats):
df.ix[match_id, '%s%s_%s' %
(team, n, stat)] = heroes[n - 1][i]
짧은 예 :
match_id r1_xp r1_gold r2_xp r2_gold r3_xp r3_gold d1_xp d1_gold d2_xp d2_gold
1 10 20 100 10 5000 300 0 0 15 5
2 1 1 1000 80 100 13 200 87 311 67
을
내가 원하는 것은 접두어 (rN_ 및 dN_)를 가진 그룹별로 해당 열을 먼저 금색 다음 xp로 정렬하는 것입니다.
match_id r1_xp r1_gold r2_xp r2_gold r3_xp r3_gold d1_xp d1_gold d2_xp d2_gold
1 5000 300 10 20 100 20 15 5 0 0
2 1000 80 100 13 1 1 200 87 311 67
당신이 당신의 dataframe가 어떻게 구성되어 있는지에 대한 간단한 예를 게시 할 수 있을까요? – sobek
데이터 프레임의 행은 무엇입니까? – sobek
각 행은 일치에 대한 정보를 나타냅니다. 영웅 % team %% NUM %가 참여합니다 – Sindbag