반응형
판다 데이터 프레임에 열 추가
이것은 아마도 쉬울 것이지만, 저는 다음과 같은 데이터를 가지고 있습니다.
데이터 프레임 1에서:
index dat1
0 9
1 5
데이터 프레임 2에서:
index dat2
0 7
1 6
다음과 같은 형식의 데이터 프레임을 원합니다.
index dat1 dat2
0 9 7
1 5 6
저는 그것을 사용해 보았습니다.append
하지만 교차 결합(즉, 데카르트 제품)이 발생합니다.
어떻게 하는 게 좋을까요?
일반적으로 당신은 단지 가입을 원하는 것처럼 보입니다.
> dat1 = pd.DataFrame({'dat1': [9,5]})
> dat2 = pd.DataFrame({'dat2': [7,6]})
> dat1.join(dat2)
dat1 dat2
0 9 7
1 5 6
다음을 사용할 수도 있습니다.
dat1 = pd.concat([dat1, dat2], axis=1)
둘다요.join()
그리고.concat()
방법이 그 문제를 해결할 수 있었습니다.하지만, 한 가지 경고를 언급해야 합니다.다른 DataFrame에서 일부 행을 선택하여 일부 데이터 프레임을 처리하려는 경우 또는 이전에 인덱스를 재설정합니다.
아래의 한 예는 조인 및 콘캣의 몇 가지 흥미로운 동작을 보여줍니다.
dat1 = pd.DataFrame({'dat1': range(4)})
dat2 = pd.DataFrame({'dat2': range(4,8)})
dat1.index = [1,3,5,7]
dat2.index = [2,4,6,8]
# way1 join 2 DataFrames
print(dat1.join(dat2))
# output
dat1 dat2
1 0 NaN
3 1 NaN
5 2 NaN
7 3 NaN
# way2 concat 2 DataFrames
print(pd.concat([dat1,dat2],axis=1))
#output
dat1 dat2
1 0.0 NaN
2 NaN 4.0
3 1.0 NaN
4 NaN 5.0
5 2.0 NaN
6 NaN 6.0
7 3.0 NaN
8 NaN 7.0
#reset index
dat1 = dat1.reset_index(drop=True)
dat2 = dat2.reset_index(drop=True)
#both 2 ways to get the same result
print(dat1.join(dat2))
dat1 dat2
0 0 4
1 1 5
2 2 6
3 3 7
print(pd.concat([dat1,dat2],axis=1))
dat1 dat2
0 0 4
1 1 5
2 2 6
3 3 7
어쩌면 너무 단순할 수도...
dat1 = pd.DataFrame({'dat1': [9,5]})
dat2 = pd.DataFrame({'dat2': [7,6]})
dat1['dat2'] = dat2 # Uses indices from dat1
결과:
dat1 dat2
0 9 7
1 5 6
새 열을 할당할 수 있습니다.인덱스를 사용하여 해당 행을 정렬합니다.
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [10, 20, 30]}, index=[0, 1, 2])
df2 = pd.DataFrame({'C': [100, 200, 300]}, index=[1, 2, 3])
df1['C'] = df2['C']
결과:
A B C
0 1 10 NaN
1 2 20 100.0
2 3 30 200.0
인덱스 무시:
df1['C'] = df2['C'].reset_index(drop=True)
결과:
A B C
0 1 10 100
1 2 20 200
2 3 30 300
올바른 구글 검색의 문제일 뿐입니다.
data = dat_1.append(dat_2)
data = data.groupby(data.index).sum()
언급URL : https://stackoverflow.com/questions/20602947/append-column-to-pandas-dataframe
반응형
'it-source' 카테고리의 다른 글
웹 드라이버 클릭() 대 자바스크립트 클릭() (0) | 2023.07.20 |
---|---|
생성자 식을 인쇄하는 방법은 무엇입니까? (0) | 2023.07.20 |
Oracle SQL의 숫자 형식 (0) | 2023.07.20 |
플라스크에서 자바스크립트로 데이터를 템플릿으로 전달하려면 어떻게 해야 합니까? (0) | 2023.07.20 |
컨테이너 객체(Python)에 __iter__(자체)를 구현하는 방법 (0) | 2023.07.20 |