2016-10-12 2 views
3

나는 dataframe 있습니다pandas : 행의 인덱스 값을 가져 옵니까?

    cost  month para 
prod_code 
040201060AAAIAI 43 2016-01-01 0402 
040201060AAAIAJ 45 2016-02-01 0402 
040201060AAAIAI 46 2016-03-01 0402 
040201060AAAIAI 41 2016-01-01 0402 
040201060AAAIAI 48 2016-02-01 0402 

가 어떻게 행 반복 수, 각 하나에 대한 인덱스의 가치를 얻을?

d = { 'prod_code': ['040201060AAAIAI', '040201060AAAIAJ', '040201060AAAIAI', '040201060AAAIAI', '040201060AAAIAI', '040201060AAAIAI', '040301060AAAKAG', '040301060AAAKAK', '040301060AAAKAK', '040301060AAAKAX', '040301060AAAKAK', '040301060AAAKAK'], 'month': ['2016-01-01', '2016-02-01', '2016-03-01', '2016-01-01', '2016-02-01', '2016-03-01', '2016-01-01', '2016-02-01', '2016-03-01', '2016-01-01', '2016-02-01', '2016-03-01'], 'cost': [43, 45, 46, 41, 48, 59, 8, 9, 10, 12, 15, 13] } 
df = pd.DataFrame.from_dict(d) 
df.set_index('prod_code', inplace=True) 

내가 노력하고있어입니다 :

for i, row in df.iterrows(): 
    print row.index, row['cost'] 

하지만이 얻을 :

Index([u'items', u'cost'], dtype='object') 3.34461552621 

UPDATE :이 인덱스의 이름을 얻는 방법을 묻는과 동일 시리즈를 위해, 그러나 다르게 표현했다. 또한 대답은이 다른 질문과 동일하지만 질문은 동일하지 않습니다! 특히,이 질문은 사람들이 Google의 "팬더 인덱스"대신 "팬더 인덱스"를 검색 할 때 발견됩니다.

+0

가능한 복제 [시리즈에서 dataframe 인덱스를 얻는 방법?] (http://stackoverflow.com/questions/39988903/how-to -get-dataframe-index-from-series) – root

답변

2
for i, row in df.iterrows(): 

각 행에 대한 Series을 반환 열 인덱스 사용이 기능을 찾기위한 값 df.ix[row_value,col_value]을 반복합니다 . 당신은 단순히

d = { 'prod_code': ['040201060AAAIAI', '040201060AAAIAJ', '040201060AAAIAI', '040201060AAAIAI', '040201060AAAIAI', '040201060AAAIAI', '040301060AAAKAG', '040301060AAAKAK', '040301060AAAKAK', '040301060AAAKAX', '040301060AAAKAK', '040301060AAAKAK'], 'month': ['2016-01-01', '2016-02-01', '2016-03-01', '2016-01-01', '2016-02-01', '2016-03-01', '2016-01-01', '2016-02-01', '2016-03-01', '2016-01-01', '2016-02-01', '2016-03-01'], 'cost': [43, 45, 46, 41, 48, 59, 8, 9, 10, 12, 15, 13] } 
df = pd.DataFrame.from_dict(d) 
df.set_index('prod_code', inplace=True) 
for i, row in df.iterrows(): 
    print row.name, row['cost'] 

040201060AAAIAI 43 
040201060AAAIAJ 45 
040201060AAAIAI 46 
040201060AAAIAI 41 
040201060AAAIAI 48 
040201060AAAIAI 59 
040301060AAAKAG 8 
040301060AAAKAK 9 
040301060AAAKAK 10 
040301060AAAKAX 12 
040301060AAAKAK 15 
040301060AAAKAK 13 

당신이 그것에 대해 자세히 알아볼 수 있습니다 할 수 here

1

사용이는 Series 이름이 통해 반복되는 행의 index입니다

def find_column_number(column_name): 
    x=list(df1.columns.values) 
    print column_name 
    col_lenth= len(x) 
    counter=0 
    count=[] 
    while counter<col_lenth: 
     if x[counter]==column_name: 
      count=counter 
     counter+=1 
    return count 
+0

이 쿼리를 해결하고 대답을 수락하면 –

관련 문제