여기에 문제가 있습니다. 제가 Python & Pandas : 데이터 프레임 복사본을 반환하는 방법은 무엇입니까?
data1 = [3,5,7,3,2,6,1,6,7,8]
data2 = [1,5,2,1,6,4,3,2,7,8]
df = pd.DataFrame(data1, columns = ['c1'])
df['c2'] = data2
def randomize_data(df):
df['c1_ran'] = df['c1'].apply(lambda x: (x + np.random.uniform(0,1)))
df['c1']=df['c1_ran']
# df.drop(['c1_ran'], 1, inplace=True)
return df
temp_df = randomize_data(df)
display(df)
display(temp_df)
가 그러나
df
(소스 데이터) 및
temp_df
(randomized_data)이 동일 무작위 데이터를 반환하는 함수를 사용한다.
는 어떻게 만들 수
temp_df
서로 다른
df
다음은 결과입니다?
가 나는 기능
def randomize_data(df):
df = df.copy()
의 시작 부분에 df.copy()
을 추가하여 문제를 제거 할 수 발견하지만이 그것을 다루는 올바른 방법입니다 있는지 확실하지 않습니다?
예. 그것은. 그래서 ... 아마도'df.copy()'가 이미 답을하고 있기 때문에 아마도이 질문을 삭제해야합니다 : P –
@WayneWerner는'.copy()'를 커스텀 함수의 기본 옵션으로 만들 수 있습니다 ? 나는 당신이'df'를 반환하기를 원할 때 매우 느슨하게 느낀다. 그리고이 함수에'df = df.copy()'를 많이 추가해야합니다. – cqcn1991
@WayneWerner 아니면 잘못 사용하고 있습니까? 사용자 정의 함수에서 df를 반환하는 더 좋은 방법이 있습니까? – cqcn1991