2014-12-05 6 views
1

팬더 데이터 프레임이 있습니다. 한 열에 항공사 이름 (또는 회사 이름)이 있습니다. 비슷하지만 동일하지 않은 이름으로 이름의 작은 하위 집합 (하나의 열에 만 있음)을 변경하여 '지저분한'데이터 집합을 생성하려고합니다. 그래서 유나이티드 항공이 유나이티드 항공이 될 것이라고합니다. 다음 내 데이터의 일례 임의로 판다 데이터 프레임에 연속하여 침의 변경을 적용 거기다팬더에서 무작위로 행을 변경합니다.

Description 
0 United Airlines 
1 Pinnacle Airlines Inc. 
2 Ryanair 
3 British Airways 

설정된다. 누구에게 아이디어가 있습니까? 당신은 당신의 인덱스의 임의의 선택을 반환 numpy.random.choice을 사용할 수 있습니다

답변

1

, 그것은 1 차원 배열을하고 전달하는 크기의 무작위 선택 반환 : 나는 후였다 정확히 무엇

In [177]: 

rand_indices = np.random.choice(df.index, 2) 
rand_indices.sort() 
rand_indices 
Out[177]: 
array([1, 2], dtype=int64) 
In [178]: 

df.loc[rand_indices] 
Out[178]: 
       Description a 
1 Pinnacle Airlines Inc. 1 
2     Ryanair 2 
In [179]: 

def scramble_text(df, index, col): 
    df.loc[index, col] = df[col].str.upper() 

scramble_text(df, rand_indices, 'Description') 
df 
Out[179]: 
       Description a 
0   United Airlines 0 
1 PINNACLE AIRLINES INC. 1 
2     RYANAIR 2 
3   British Airways 3 
+0

감사합니다. 나는 더 나은 df.loc 함수를 배울 필요가있다 :) –

관련 문제