2014-02-26 5 views
0

나는 팬더 데이터 프레임을 가지고 있습니다.특정 팬더 열에서 튜플 만들기

[[1,2],[1,1]] 

이 행 0, 1, 우리가 있습니다 : 내가 좋아하는 것이 무엇

one two three four five 
0 1 2  3  4  5 
1 1 1  1  1  1 

우리가 얻을 수 있도록, 목록에 컬럼 만 선택 번호를 변환 할 수있다 열 1과 2를 선택하십시오. 우리가 열 한 개, 두 개, 네 개의 선택

마찬가지로 경우 :

[[1,2,4],[1,1,1]] 

을 이상적으로 나는 느린으로 행의 반복을 피하기 위해 같은 것입니다!

+0

당신이 튜플의 목록 또는 목록의 목록을 원하십니까 :

이제 우리는 값을 선택할 수 있습니다? – Drewness

+0

지금은 튜플이 필요합니다. 그러나 앞으로는 목록 목록이 필요할 것입니다. – redrubia

답변

4

당신은 그냥 그 열을 선택할 수 있습니다

In [11]: df[['one', 'two']] 
Out[11]: 
    one two 
0 1 2 
1 1 1 

을하고 tolist 사용하여 기본 NumPy와 배열에서 목록의 목록을 얻을 :

In [12]: df[['one', 'two']].values.tolist() 
Out[12]: [[1, 2], [1, 1]] 

In [13]: df[['one', 'two', 'four']].values.tolist() 
Out[13]: [[1, 2, 4], [1, 1, 1]] 

참고 :이 정말하지 않는 한 필요가 전혀 없습니다 당신의 최종 게임은 ... 팬더 또는 numpy의 작업을 수행하는 것이 훨씬 더 효율적입니다.

+0

tahnks @andy 어떤 방법이 더 나은지 궁금합니다. 꽤 많이 보였습니다. – redrubia

+0

@redrubia values ​​속성은 numpy 밑에있는 numpy 배열 인 tolist *를 원하는 목록으로 변환합니다. 그것은 정말로 다음 단계가 무엇인지에 달려 있습니다! 그렇지 않으면 [XY 문제] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)입니다! –

1

그래서 어떻게해야할까요?

y = x[['one','two']] 

이 우리에게 일부 안양를 제공합니다

는 첫째로 우리는 우리의 값을하고자하는 열을 선택합니다.

> y.values 

array([[1, 2], 
     [1, 1]]) 
관련 문제