두 개의 배열 A
및 B
에 일련의 숫자가 포함되어 있습니다. 예를 들어 A.팬더의 배열에서 데이터 프레임 생성을 향상시키는 방법
의 모든 값에 상응 할 BI의 각 요소 : I는 다음 쌍을 가져올 A = [0,2,5]
경우 B=[4,9,8]
내 목표는 다음과 같은 구조를 갖는 dataframe을 만드는 것이다 0-4,0-9,0-8
, 2-4,2-9,2-8
및 5-4,5-9,5-8
.
import pandas as pd
import numpy as np
a, b = 1, 10
c, d = -10, -1
step = 0.5
A = np.arange(a,b,1)+step
B = np.arange(c,d,1)
df = pd.DataFrame()
for j in B:
for i in A:
name = 'H'+str(int(np.abs(i)))+str(int(np.abs(j)))
dic = {'XXX':[i],'YYY':[j],'ZZZ':name}
df = pd.concat([df,pd.DataFrame(dic)],ignore_index=True)
열 ZZZ
하지만, 위의 그림과 같이 계산할 수 :
내가 작성한 코드는 정상적으로 작동하지만 a,b,c,d
값을 늘리면 속도가 느려집니다.
내 목표를 달성하는보다 우아한 방법이 있습니까? 중첩 된 for 루프는 피하고 싶습니다. 분명히 내 방식보다 효율적입니다.
당신이 [우편] (HTTPS를 사용하여 목록을 결합 할 수 있습니다 : // 문서 zip (A, B)와 같이 pandas의 열을 직접 연결할 수 있습니다. df.XXX.astype (str) + df.YYY.astype (str) 새로운 컬럼. – BMW
mmm 나는 그것에 대해 들어 본 적이 없어요 ... 지금 당장 살펴 보겠습니다. –