[PYTHON] 하나의 팬더 데이터 프레임에 팬더 데이터 프레임 목록 결합
PYTHON하나의 팬더 데이터 프레임에 팬더 데이터 프레임 목록 결합
하나의 팬더 데이터 프레임에 결합하고 싶은 팬더 데이터 프레임 목록이 있습니다. Python 2.7.10과 Pandas 0.16.2를 사용하고 있습니다.
나는에서 데이터 프레임의 목록을 만들었습니다 :
import pandas as pd
dfs = []
sqlall = "select * from mytable"
for chunk in pd.read_sql_query(sqlall , cnxn, chunksize=10000):
dfs.append(chunk)
데이터 프레임 목록을 반환합니다.
type(dfs[0])
Out[6]: pandas.core.frame.DataFrame
type(dfs)
Out[7]: list
len(dfs)
Out[8]: 408
다음은 몇 가지 샘플 데이터입니다.
# sample dataframes
d1 = pd.DataFrame({'one' : [1., 2., 3., 4.], 'two' : [4., 3., 2., 1.]})
d2 = pd.DataFrame({'one' : [5., 6., 7., 8.], 'two' : [9., 10., 11., 12.]})
d3 = pd.DataFrame({'one' : [15., 16., 17., 18.], 'two' : [19., 10., 11., 12.]})
# list of dataframes
mydfs = [d1, d2, d3]
d1, d2 및 d3을 하나의 팬더 데이터 프레임에 결합하고 싶습니다. 또는, chunkksize 옵션을 사용할 때 데이터 테이블에 직접 큰 테이블을 읽는 방법이 매우 유용 할 것입니다.
해결법
-
==============================
1.모든 데이터 프레임이 동일한 열을 가지고 있다고 가정하면 간단하게 연결할 수 있습니다.
모든 데이터 프레임이 동일한 열을 가지고 있다고 가정하면 간단하게 연결할 수 있습니다.
import pandas as pd df = pd.concat(list_of_dataframes)
-
==============================
2.데이터 프레임에 모두 같은 열이있는 것이 아니라면 다음을 시도하십시오.
데이터 프레임에 모두 같은 열이있는 것이 아니라면 다음을 시도하십시오.
df = pd.DataFrame.from_dict(map(dict,df_list))
-
==============================
3.함수 프로그래밍으로도 할 수 있습니다.
함수 프로그래밍으로도 할 수 있습니다.
reduce(lambda df1, df2: df1.merge(df2, "outer"), mydfs)
from https://stackoverflow.com/questions/32444138/combine-a-list-of-pandas-dataframes-to-one-pandas-dataframe by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 튜플에 값을 추가하는 방법? (0) | 2018.10.29 |
---|---|
[PYTHON] 파이썬의 표준 라이브러리에 정렬 된 컨테이너가없는 이유는 무엇입니까? (0) | 2018.10.29 |
[PYTHON] 파이썬 문자열을 여러 번 표시 (0) | 2018.10.29 |
[PYTHON] 목록의 목록으로 2 차원 numpy 배열을 변환 [중복] (0) | 2018.10.29 |
[PYTHON] Atom에서 Python 실행하기 (0) | 2018.10.29 |