2016-12-01 4 views
0

나는 팬더가 새롭다. 나는 6 열로 구성되어 Dataframe을 가지고 있고이 수행 루프를하고 싶습니다 :Pandas, substract columns 루프의 데이터 프레임

-create 새 열을 (NC 1) -nc1 = 1 열 - 열이

및 I 6

이 같은 열을 빼지 수 5 열 NCX = 열 : 마지막으로 하나가 될 수 있도록, 모든 컬럼에 대해이 작업을 반복 할

df['nc'] = df.Column1 - df.Column2 

을하지만, 내가하려고 할 때이 유용하지 않다 나는 항상 t를 삽입해야하기 때문에 반복을해라. 그는 열의 이름.

열을 숫자로 참조 할 수있는 방법을 알려주는 사람이 있습니까? 감사합니다. 여기

+0

죄송합니다. 'df.diff (axis = 1)'을 (를) 묻는 중입니까? – EdChum

+0

안녕하세요, 정말 도움이되었습니다. – Vasil

답변

0
In [26]: import numpy as np 
    ...: import random 
    ...: import pandas as pd 
    ...: 
    ...: A = pd.DataFrame(np.random.randint(100, size=(5, 6))) 

In [27]: A 
Out[27]: 
    0 1 2 3 4 5 
0 82 13 17 58 68 67 
1 81 45 15 11 20 63 
2 0 84 34 60 90 34 
3 59 28 46 96 86 53 
4 45 74 14 10 5 12 

In [28]: for i in range(0, 5): 
    ...:  A[(i + 6)] = A[i] - A[(i + 1)] 
    ...: 
    ...: 
    ...: A 
    ...: 
Out[28]: 
    0 1 2 3 4 5 6 7 8 9 10 
0 82 13 17 58 68 67 69 -4 -41 -10 1 
1 81 45 15 11 20 63 36 30 4 -9 -43 
2 0 84 34 60 90 34 -84 50 -26 -30 56 
3 59 28 46 96 86 53 31 -18 -50 10 33 
4 45 74 14 10 5 12 -29 60 4 5 -7 

In [29]: nc = 1 #The first new column 
    ...: A[(nc + 5)] #outputs the first new column 
Out[29]: 
0 69 
1 36 
2 -84 
3 31 
4 -29 

당신은 단지 열 번호, 이름으로 호출 할 필요가 없습니다, 당신은 그냥이 같은 열 + 5

뭔가 호출하는 간단한 함수를 작성할 수 있습니다

In [31]: def call_new_column(n): 
    ...:  return(A[(n + 5)]) 
    ...: 
    ...: 
    ...: call_new_column(2) 
Out[31]: 
0 -4 
1 30 
2 50 
3 -18 
4 60 
+0

안녕하세요, 도움을 주셔서 감사합니다하지만 열이 이름으로 숫자가없는 경우 예를 들어, 다른 사람의 데이터를 조작 해야하는 경우와 그 사람이 이름을 지정하지 않았다면 그것을 할 수있는 방법이 있었는지 궁금 해서요 숫자가있는 열. – Vasil

관련 문제