for 루프를 사용하여 특정 길이의 numpy 배열 (또는 pandas 데이터 프레임)을 만드는 방법은 무엇입니까?

NewbieAF

내가 가진 모든 것을 수집하기 위해 pandas DataFrame을 만들려고하지만 단일 배열을 만들기 위해 목록에서 numpy 배열을 결합하는 데 어려움이 있습니다.

다음 데이터가 있다고 가정합니다.

df0 = pd.DataFrame([[1,2],[2,2],[3,1],[4,4],[5,4]], columns = ['A','B'])

collect = []
for i in range(5):
    collect.append(df0.mean())
    collect.append((i**2+2))

여기서는 동일한 데이터 프레임을 5 번 반복하여 더 간단하게 만들었지 만 실제 데이터에서는 모든 반복이 데이터 프레임의 다른 열을 통과합니다. 어쨌든 최종 결과를 원합니다.

 A    B   i
3.0  2.6  2
3.0  2.6  3
3.0  2.6  6
3.0  2.6  11
3.0  2.6  18

그러나 나는 len(collect)10 이기 때문에 5x3 행렬을 만들 수 없습니다 .append. for-loop에서 올바른 방식으로 사용하지 않는 것 같습니다 . len(collect)5 또는 15 인 배열을 어떻게 만듭니 까? 길이가 5이면 간단히 전치 collect하거나 길이가 15이면 모양을 바꿀 수 있습니다.

편집 : 간단한 인덱스 열과 다른 것을 알 수 있도록 세 번째 열을 약간 변경했습니다.

베니

당신은 그것을 할 수 있습니다 transform

df0.groupby([1]*len(df)).transform('mean')
   A    B
0  3  2.6
1  3  2.6
2  3  2.6
3  3  2.6
4  3  2.6

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관