에서 여러 dataframes와 함께 작동합니다 :우아한 방법은 내가 현재 다음과 같습니다 코드의 비트 팬더
if os.path.isfile('D:\\df_1'):
df_1 = pd.read_pickle('D:\\df_1')
else:
df_1 = pd.DataFrame(columns = ['Date', 'Location', 'Product'])
if os.path.isfile('D:\\df_2'):
df_2 = pd.read_pickle('D:\\df_2')
else:
df_2 = pd.DataFrame(columns = ['Date', 'Location', 'Product'])
[...]
if os.path.isfile('D:\\df_20'):
df_20 = pd.read_pickle('D:\\df_20')
else:
df_20 = pd.DataFrame(columns = ['Date', 'Location', 'Product'])
기본적으로 내가이 Dataframe이 이미 존재하는 경우를 적재 않을 경우, 확인하고 있습니다하고 있어요 그렇지 않으면 빈 데이터 프레임을 만듭니다. 코드가 새로운 데이터를 각 데이터 프레임에 추가하려고 시도하기 때문에 필요합니다. 그래서 내가 좋아하는 뭔가를해야합니다 :
[retrieve new data and clean it]
df_1 = pd.concat([df_1, df_1_new_data])
내가 가진 모든 20 dataframes에 대해이 작업을 수행 (서로 다른 것들을 포함을, 그래서 나는 분리를 유지하려는), 다음 날 다시 검색하는 순서로 저장 이후 그들에게 새로운 데이터를 추가 : 이제
df_1.to_pickle('D:\\df_1')
df_2.to_pickle('D:\\df_2')
[...]
df_20.to_pickle('D:\\df_20')
, 이미 20 dataframes 함께 할 아주 무거운, 그러나 나는 아마 좀 더 추가해야합니다! 다른 데이터 프레임을 읽은 다음 for 루프 또는 이와 비슷한 방식으로 피클에 기록 할 수 있습니까? 그래서 많은 사람들을위한 코드 라인을 줄이기 위해 지금은 단순한 2 라인의 루프를 사용하고 있습니까? 고맙습니다!
왜 이런 일을 반복하지 않습니까? –
동적으로 변수 이름을 만들어야하고, 이것이 나쁜 일임을 알고 있습니다. – giga
사전을 사용하십시오. –