2017-10-16 1 views
1

데이터 프레임이 있고 df와 같은 세로 크기의 시리즈가 있는데이 시리즈를 DataFrame의 모든 열에 으로 지정하고 싶습니다. 자연적인 이유는 무엇입니까?데이터 프레임의 모든 열 (열 방향)에 시리즈를 지정 하시겠습니까?

예를

df = pd.DataFrame([[1, 2 ], [3, 4], [5 , 6]]) 
ser = pd.Series([1, 2, 3 ]) 

위해 나는 "DF"의 모든 열이 "SER"동일하게합니다.

PS 관련 :

+1

사용'pd.DataFrame? – Zero

+0

@Zero 감사합니다. 그게 효과가있어! 내가 기대하는 바는 MatLab의 "repmat"와 같은 특수한 명령이있을 수 있다는 것입니다. 그런 걸 몰라? –

답변

1

사용 to_frame을 :

a = ser.to_frame().reindex(columns=df.columns, method='ffill') 
print (a) 
    0 1 
0 1 1 
1 2 2 
2 3 3 

을하지만 쉽게 보인다는 comment에서 솔루션입니다 실제 데이터가있는 원본과 동일한 주문 열이 필요한 경우 columns 매개 변수가 추가되었습니다.

012 어쩌면 3,516,
df = pd.DataFrame({c:ser for c in df.columns}, columns=df.columns) 
+0

다시 한 번 감사드립니다! 하지만 파이썬에 특별한 지시가 없으면 특별히 그런 목적으로 빌드하지 않았습니까? Matlab의 "repmat"와 같습니다. –

+1

나는 불행히도, 생각하지 않는다 : ( – jezrael

+0

@AlexanderChervov - 저녁, 그래서 지금 응답;) – jezrael

1

그것을 보는 다른 방법 :`({DF의 C에 대한 버리는 C})

df = pd.concat([ser] * df.shape[1], axis=1) 
관련 문제