두 개의 서로 관련이없는 시리즈의 조합 인 Dataframe을 만들려고합니다.두 개의 관련없는 시리즈에서 DataFrame을 만드는 가장 효율적인 방법은 무엇입니까?
우리는 두 dataframes 걸릴 경우
A = ['a','b','c']
B = [1,2,3,4]
dfA = pd.DataFrame(A)
dfB = pd.DataFrame(B)
내가이 출력을 찾고 있어요 :
A B
0 a 1
1 a 2
2 a 3
3 a 4
4 b 1
5 b 2
6 b 3
7 b 4
8 c 1
9 c 2
10 c 3
11 c 4
한 가지 방법은 direclty 목록에 루프를 가지고 있고 DataFrame을 만들 수 있지만, 거기는해야합니다 더 나은 방법이 되십시오. 나는 판다 문서에서 뭔가를 놓치고 있다고 확신한다.
result = []
for i in A:
for j in B:
result.append([i,j])
result_DF = pd.DataFrame(result,columns=['A','B'])
가 궁극적으로 내가 결합 개월 UUID 찾고 있어요, 내가 작업 뭔가를하지만 계산하는 나이 소요 인덱스에 너무 많이 의존하고있다. 일반적인 해결책은 분명히 더 나은 것 :
from datetime import datetime
start = datetime(year=2016,month=1,day=1)
end = datetime(year=2016,month=4,day=1)
months = pd.DatetimeIndex(start=start,end=end,freq="MS")
benefit = pd.DataFrame(index=months)
A = [UUID('d48259a6-80b5-43ca-906c-8405ab40f9a8'),
UUID('873a65d7-582c-470e-88b6-0d02df078c04'),
UUID('624c32a6-9998-49f4-92b6-70e712355073'),
UUID('7207ab0c-3c7f-477e-b5bc-fbb8059c1dec')]
dfA = pd.DataFrame(A)
result = pd.DataFrame(columns=['A','month'])
for i in dfA.index:
newdf = pd.DataFrame(index=benefit.index)
newdf['A'] = dfA.iloc[i,0]
newdf['month'] = newdf.index
result = pd.concat([result,newdf])
result
매우 빠르지 만 np 배열에 맞는 데이터 유형에서만 작동합니다. 내가 UUID로 시도하면 'TypeError : 지원되지 않는 피연산자 유형'이됩니다. – ludofet
'dtype'은 무엇을보고 있습니까? – Stefan
업데이트 된 답변보기, 내가 오타를 오해 한 경우 알려주십시오. – Stefan