데이터 프레임의 값을 사용하여 열 이름을 얻는 방법은 무엇입니까?

jacky_learns_to_code

DataFrame에 750x750 행렬이 있다고 가정합니다.

df=

        c1   c2   c3  ... c750
c1      5    2    5   ...   3 
c2      3    1    5   ...   80
c3      4    2    7   ...   10
.       .    .    .   ...   .
.       .    .    .   ...   .
.       .    .    .   ...   .
c750    8    3    5   ...   1

각 행에 대해 4 개의 가장 높은 값을 포함하는 열을 찾고 싶습니다. 다음과 같이 쉽게 할 수 있습니다.

a = df.values
a.sort(axis=1)
sorted_table = a[:,-4::]
b = a[:,::-1]

그러나 내가 얻은 결과는 인덱스와 열 이름이없는 목록입니다.

[[ 98.      29.      15.      10.]
 [ 93.      91.      75.      60.]
 [ 48.      21.      17.      10.]
.
.
.
...]

정렬 된 값이 참조하는 열 이름을 알고 싶다면 어떻게해야합니까?

표시하고 싶습니다 :

 df=

c1      c512    c20    c57     c310 
c2      c317    c133   c584    c80
c3      c499    c289   c703    c100
.       .    .    .   ...    .
.       .    .    .   ...    .
.       .    .    .   ...    .
c750    c89    c31    c546     c107

어디

  c512 is referring  to 98

  c20 is referring to 29

  c57 is referring to 15

and so and so.
Jarad

이것이 최선의 답변이라고 생각하지 않지만 작동한다고 생각합니다. 나는 forpandas에서 루프를 사용하는 것을 싫어 하지만 그것을 수행하는 pandas 방법을 생각할 수 없었습니다.

import pandas as pd
import numpy as np

#array_size = 10

#--- Generate Data and create toy Dataframe ---
array_size = 750
np.random.seed(1)
data = np.random.randint(0, 1000000, array_size**2)
data = data.reshape((array_size, array_size))
df = pd.DataFrame(data, columns=['c'+str(i) for i in range(1, (array_size)+1)])
df.index = df.columns

#--- Transpose the dataframe to more familiarly sort by columns instead of rows ---
df = df.T

#--- Rank values in dataframe using max method where highest value is rank 1 ---
df = df.rank(method='max', ascending=False)

#--- Create empty dataframe to put data into ---
new_df = pd.DataFrame()

#--- For loop for each column to get top ranks less than 5, sort them, reset index, drop i column
for i in df.columns:
  s = df[i][df[i] < 5].sort_values().reset_index().drop(i, axis=1)
  new_df = pd.concat([new_df, s.T])

#--- The new_df index will say 'index', this reassigns the transposed column names to new_df's index
new_df.index = df.columns
print(new_df)

출력 :

         0     1     2     3
c1    c479  c545  c614  c220
c2    c249  c535  c231  c680
c3    c657  c603  c137  c740
c4    c674  c424  c426  c127
...    ...   ...   ...   ...
c747  c251  c536  c321  c296
c748   c55  c383  c437  c103
c749  c138  c495  c299  c295
c750  c178  c556  c491  c445

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬을 사용하여 열 값으로 -9999를 사용하여 데이터 프레임의 행을 제거하는 방법은 무엇입니까?

분류에서Dev

R에서 많은 데이터 프레임의 열 이름을 변경하는 방법은 무엇입니까?

분류에서Dev

두 데이터 프레임 열 사이의 교차 항목을 얻는 방법은 무엇입니까?

분류에서Dev

열이 하나만있을 때 이름이있는 데이터 프레임의 첫 번째 행을 얻는 방법은 무엇입니까?

분류에서Dev

groupby.first ()를 사용하여 데이터 프레임 열의 값을 다른 열의 값으로 바꾸는 방법은 무엇입니까?

분류에서Dev

열 이름과 행 인덱스를 사용하여 Pandas 데이터 프레임에서 값을 선택하는 올바른 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 열 값을 반복하고 평균을 취하고 새 데이터 프레임을 만드는 방법은 무엇입니까?

분류에서Dev

Python Pandas에서 데이터 프레임 열의 여러 값을 바꾸는 방법은 무엇입니까?

분류에서Dev

사전에서 데이터 프레임 열의 특정 값을 바꾸는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 열 값을 0과 1로 변환하는 방법은 무엇입니까?

분류에서Dev

Groupby 데이터 프레임의 열 값을 계산하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 특정 열에서 중복 값을 제거하는 방법은 무엇입니까?

분류에서Dev

값을 데이터 프레임의 열에 선택적으로 매핑하는 방법은 무엇입니까?

분류에서Dev

Pandas 데이터 프레임에서 열의 모든 값을 편집하는 방법은 무엇입니까?

분류에서Dev

조건에 따라 데이터 프레임의 열에 값을 할당하는 방법은 무엇입니까?

분류에서Dev

두 데이터 프레임에서 두 열의 부울 값을 계산하는 방법은 무엇입니까?

분류에서Dev

함수를 사용하여 다른 열 값을 사용하여 새 데이터 프레임 열을 만드는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 열과 함께 purrr 맵을 사용하는 방법은 무엇입니까?

분류에서Dev

특정 열 이름 + 열 범위로 데이터 프레임을 분할하는 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임의 행 이름 순서를 기반으로 한 데이터 프레임의 열 이름을 매핑하여 R에서 데이터 프레임을 정렬하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 2 열 값을 다른 데이터 프레임의 ID로 대체하는 방법은 무엇입니까?

분류에서Dev

날짜 범위를 열의 값으로 사용하여 데이터 프레임을 만드는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 다른 열을 사용하여 하나의 플롯에 여러 그래프를 그리는 방법은 무엇입니까?

분류에서Dev

다른 데이터 프레임을 사용하여 데이터 프레임에 열을 추가하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임 목록에서 행 이름을 열로 설정하는 방법은 무엇입니까?

분류에서Dev

R에서 열 이름으로 데이터 프레임을 정렬하는 방법은 무엇입니까?

분류에서Dev

다른 열 이름으로 다른 데이터 프레임을 rbind하는 방법은 무엇입니까?

분류에서Dev

Python을 사용하여 열의 목록을 데이터 프레임의 두 열로 분할하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 모든 행의 열을 정렬 한 다음 R의 해당 열에 열 이름을 저장하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    파이썬을 사용하여 열 값으로 -9999를 사용하여 데이터 프레임의 행을 제거하는 방법은 무엇입니까?

  2. 2

    R에서 많은 데이터 프레임의 열 이름을 변경하는 방법은 무엇입니까?

  3. 3

    두 데이터 프레임 열 사이의 교차 항목을 얻는 방법은 무엇입니까?

  4. 4

    열이 하나만있을 때 이름이있는 데이터 프레임의 첫 번째 행을 얻는 방법은 무엇입니까?

  5. 5

    groupby.first ()를 사용하여 데이터 프레임 열의 값을 다른 열의 값으로 바꾸는 방법은 무엇입니까?

  6. 6

    열 이름과 행 인덱스를 사용하여 Pandas 데이터 프레임에서 값을 선택하는 올바른 방법은 무엇입니까?

  7. 7

    데이터 프레임의 열 값을 반복하고 평균을 취하고 새 데이터 프레임을 만드는 방법은 무엇입니까?

  8. 8

    Python Pandas에서 데이터 프레임 열의 여러 값을 바꾸는 방법은 무엇입니까?

  9. 9

    사전에서 데이터 프레임 열의 특정 값을 바꾸는 방법은 무엇입니까?

  10. 10

    데이터 프레임의 열 값을 0과 1로 변환하는 방법은 무엇입니까?

  11. 11

    Groupby 데이터 프레임의 열 값을 계산하는 방법은 무엇입니까?

  12. 12

    데이터 프레임의 특정 열에서 중복 값을 제거하는 방법은 무엇입니까?

  13. 13

    값을 데이터 프레임의 열에 선택적으로 매핑하는 방법은 무엇입니까?

  14. 14

    Pandas 데이터 프레임에서 열의 모든 값을 편집하는 방법은 무엇입니까?

  15. 15

    조건에 따라 데이터 프레임의 열에 값을 할당하는 방법은 무엇입니까?

  16. 16

    두 데이터 프레임에서 두 열의 부울 값을 계산하는 방법은 무엇입니까?

  17. 17

    함수를 사용하여 다른 열 값을 사용하여 새 데이터 프레임 열을 만드는 방법은 무엇입니까?

  18. 18

    데이터 프레임의 열과 함께 purrr 맵을 사용하는 방법은 무엇입니까?

  19. 19

    특정 열 이름 + 열 범위로 데이터 프레임을 분할하는 방법은 무엇입니까?

  20. 20

    다른 데이터 프레임의 행 이름 순서를 기반으로 한 데이터 프레임의 열 이름을 매핑하여 R에서 데이터 프레임을 정렬하는 방법은 무엇입니까?

  21. 21

    데이터 프레임의 2 열 값을 다른 데이터 프레임의 ID로 대체하는 방법은 무엇입니까?

  22. 22

    날짜 범위를 열의 값으로 사용하여 데이터 프레임을 만드는 방법은 무엇입니까?

  23. 23

    데이터 프레임의 다른 열을 사용하여 하나의 플롯에 여러 그래프를 그리는 방법은 무엇입니까?

  24. 24

    다른 데이터 프레임을 사용하여 데이터 프레임에 열을 추가하는 방법은 무엇입니까?

  25. 25

    데이터 프레임 목록에서 행 이름을 열로 설정하는 방법은 무엇입니까?

  26. 26

    R에서 열 이름으로 데이터 프레임을 정렬하는 방법은 무엇입니까?

  27. 27

    다른 열 이름으로 다른 데이터 프레임을 rbind하는 방법은 무엇입니까?

  28. 28

    Python을 사용하여 열의 목록을 데이터 프레임의 두 열로 분할하는 방법은 무엇입니까?

  29. 29

    데이터 프레임의 모든 행의 열을 정렬 한 다음 R의 해당 열에 열 이름을 저장하는 방법은 무엇입니까?

뜨겁다태그

보관