2013-05-21 4 views
1

나는 같은 데이터가있는 경우 :파이썬 데이터 가져 오기 사전 및 패턴

Code, data_1, data_2, data_3, [....], data204700 

a,1,1,0, ... , 1 
b,1,0,0, ... , 1 
a,1,1,0, ... , 1 
c,0,1,0, ... , 1 
b,1,0,0, ... , 1 
etc. same code different value (0, 1, ?(not known)) 

내가 큰 매트릭스를 작성해야하고 내가 분석하고자한다.

  1. 어떻게 사전에 데이터를 가져올 수 있습니까?

나는 패턴 나에게 돌아 컬럼 (204.700 + 1)

  1. A는 기능 (또는 패키지)에이 구축을 위해 사전을 사용하려면?

    (% 패턴이 예상 됨). 내가 열 1 일의 90 %, 열에 좋아 2.

+1

사전은 키 - 값 쌍의 모음입니다. 당신은 당신의 열쇠에 대해 무엇을 원하며 그 가치들을 위해 무엇을 원합니까? –

+0

정수가있는 경우 0 또는 1이어야합니까? 또는 2 또는 다른 번호가있을 수 있습니까? 기본적으로 첫 번째 열이 아닌 모든 열은 0 또는 1로 구성됩니까? –

답변

0

그래서 난 당신을 생각 하겠어의 80 %로 평균은 목적을 저장하기 위해 사전에이 원하고 당신을 당신이 '돈 말할 것이다 이런 종류의 데이터로이를 원합니다. 이 당신이 dataframe에 코드를 얻는 방법이다 pandasDataFrame

를 사용 : 당신이 당신이 찾고있는 패턴을 반환에 대한 패키지가 필요하지 않습니다 지금

import pandas as pd 
my_file = 'file_name' 
df = pd.read_csv(my_file) 

, 단지에 대한 간단한 알고리즘을 쓰기 그걸 돌려 줘! 지금 당신이 모든 단일 열을 갖고 싶어

percentages = one_percentage(df) 
column_name = 'any_column_name' 
print percentages[column_name] 

, 당신이 잡아 수 있습니다 : 지금 당신이 어떤 열에 사람의 비율을 얻으려면

def one_percentage(data): 
    #get total number of rows for calculating percentages 
    size = len(data) 
    #get type so only grabbing the correct rows 
    x = data.columns[1] 
    x = data[x].dtype 
    #list of touples to hold amount of 1s and the column names 
    ones = [(i,sum(data[i])) for i in data if data[i].dtype == x] 
    my_dict = {} 
    #create dictionary with column names and percent 
    for x in ones: 
     percent = x[1]/float(size) 
     my_dict[x[0]] = percent 
    return my_dict 

, 이것은 당신이 무엇을 모든 열 이름 및 루프 :

columns = [name for name in percentages] 
for name in columns: 
    print str(percentages[name]) + "% of 1 in column " + name 

다른 것이 필요한지 알려주세요.

+0

감사합니다. 나는 같은 종류의 해결책을 염두에두고있다. 세 번째 값을 추가해야합니다 (즉, 알 수 없음). 나는 오렌지 패키지로 시도 할 것이다! –