2013-07-19 4 views
1

해당 자질의 목록을 기반으로 한 자질 집합에 대한 점수를 계산하는 스크립트를 작성하려고합니다. 내 dataframe은 다음과 같습니다 없습니다 :팬더 데이터 프레임의 숫자가 아닌 모든 행을 하나의 테이블로 축소하십시오.

  qual1   qual2 ... score 
8 intellectual intellectual ...  8 
7   funny charismatic ...  7 
6   witty  ambitious ...  6 
5  outgoing  honest ...  5 
4 adventurous  active ...  4 
3   NaN adventurous ...  3 
2   NaN  outgoing ...  2 

나는 이런 식으로 뭔가 좀하고 싶습니다 : 나는 어떻게 가야하는 아무 생각이

 quals  score 
intellectual  8 
funny    7 
witty    6 
outgoing   5 
adventurous   4 
intellectual  8 
charismatic   7 
ambitious   6 
honest    5 
active    4 
adventurous   3 
outgoing   2 

을, 그래서 슬프게도 더 코드 샘플 :(

답변

4

한 가지 방법은 pd.melt을 사용하는 것입니다.

>>> df 
      qual1   qual2 score 
0 intellectual intellectual  8 
1   funny charismatic  7 
2   witty  ambitious  6 
3  outgoing  honest  5 
4 adventurous  active  4 
5   NaN adventurous  3 
6   NaN  outgoing  2 
>>> pd.melt(df, "score").rename(columns={"value": "quals"}).dropna()[["quals", "score"]] 
      quals score 
0 intellectual  8 
1   funny  7 
2   witty  6 
3  outgoing  5 
4 adventurous  4 
7 intellectual  8 
8 charismatic  7 
9  ambitious  6 
10  honest  5 
11  active  4 
12 adventurous  3 
13  outgoing  2 
관련 문제