사용 pd.concat, 그것은 DFS의 목록을 병합을 위해 설계되었습니다 : 아래의 예를 참조하십시오 예 :
In [4]:
import pandas as pd
import numpy as np
df = pd.DataFrame({'a':np.random.randn(5), 'b':np.random.randn(5)})
df1 = pd.DataFrame({'c':np.random.randn(5), 'd':np.random.randn(5)})
df2 = pd.DataFrame({'e':np.random.randn(5), 'f':np.random.randn(5)})
df_list=[df,df2,df1]
df_list
Out[4]:
[ a b
0 0.143116 1.205407
1 -0.430869 1.429313
2 0.059810 0.430131
3 2.554849 -1.450640
4 -1.127638 0.715323
[5 rows x 2 columns], e f
0 0.658967 1.150672
1 0.813355 -0.252577
2 0.885928 0.970844
3 0.519375 -1.929081
4 -0.217152 0.907535
[5 rows x 2 columns], c d
0 -1.375885 1.422697
1 -0.870040 0.135527
2 -0.696600 1.954966
3 0.494035 -0.727816
4 -0.367156 -0.216115
[5 rows x 2 columns]]
In [8]:
# now concatenate the list of dfs, by column
pd.concat(df_list,axis=1)
Out[8]:
a b e f c d
0 0.143116 1.205407 0.658967 1.150672 -1.375885 1.422697
1 -0.430869 1.429313 0.813355 -0.252577 -0.870040 0.135527
2 0.059810 0.430131 0.885928 0.970844 -0.696600 1.954966
3 2.554849 -1.450640 0.519375 -1.929081 0.494035 -0.727816
4 -1.127638 0.715323 -0.217152 0.907535 -0.367156 -0.216115
[5 rows x 6 columns]
도움을 다시 주셔서 감사합니다. 그러나 목록을 작성하는 방식에 문제가있는 것 같습니다. 회사 [ 'Symbols']는 데이터 프레임 자체와는 달리 데이터 프레임의 이름 인 문자열 목록입니다. 나는 목록을 append를 사용하여 while 루프로 작성했기 때문에 이것을했다 :'... row = pandas.DataFrame ('dict (Symbols = stock, Date = stockhistory.index [0])))''... companies = companies .append (row, ignore_index = True)'어색한 해결 방법을 찾았지만 흥미가 있습니다. 어떻게이 목록을 작성하여 기술과 함께 사용할 수 있습니까? – neanderslob
죄송합니다. 회사 [ 'Symbols']가 데이터 프레임이 아닌 데이터 프레임의 목록이라는 사실에 혼란 스럽습니까? 데이터 프레임이 아니라 문자열이라는 사실은 다소 혼란 스럽습니다. 데이터 프레임이 단지 이름이고 이러한 데이터 프레임이 존재하지 않는다고 말하는 것입니까? 심볼 열을 다른 데이터 프레임에 추가하고 싶습니까? – EdChum