반응형
팬더의 이동 열 데이터 프레임이 하나씩 증가합니까?
판다 데이터 프레임을 가지고 있습니다.저는 제 칼럼 중 하나를 '래그'하고 싶습니다.예를 들어, 전체 열 'gdp'를 하나씩 위로 이동한 다음 나머지 행의 맨 아래에 있는 모든 초과 데이터를 제거하여 모든 열이 다시 동일한 길이가 되도록 하는 것을 의미합니다.
df =
y gdp cap
0 1 2 5
1 2 3 9
2 8 7 2
3 3 4 7
4 6 7 7
df_lag =
y gdp cap
0 1 3 5
1 2 7 9
2 8 4 2
3 3 7 7
어쨌든 이걸 하기 위해서요?
In [44]: df['gdp'] = df['gdp'].shift(-1)
In [45]: df
Out[45]:
y gdp cap
0 1 3 5
1 2 7 9
2 8 4 2
3 3 7 7
4 6 NaN 7
In [46]: df[:-1]
Out[46]:
y gdp cap
0 1 3 5
1 2 7 9
2 8 4 2
3 3 7 7
이동 열 gdp 상승:
df.gdp = df.gdp.shift(-1)
마지막 행을 제거합니다.
먼저 열을 이동합니다.
df['gdp'] = df['gdp'].shift(-1)
두 번째로 NaN 셀이 포함된 마지막 행을 제거합니다.
df = df[:-1]
세 번째 인덱스 재설정:
df = df.reset_index(drop=True)
시간이 가고 있습니다.현재 Pandas 문서에서는 다음과 같이 권장하고 있습니다.
df.loc[:, 'gdp'] = df.gdp.shift(-1)
예를 들어, 이동한 값의 수를 추적할 필요 없이 5개의 값을 쉽게 이동하고 NaN 행을 제거하려면 다음을 수행합니다.
d['gdp'] = df['gdp'].shift(-5)
df = df.dropna()
df.gdp = df.gdp.shift(-1) ## shift up
df.gdp.drop(df.gdp.shape[0] - 1,inplace = True) ## removing the last row
언급URL : https://stackoverflow.com/questions/20095673/shift-column-in-pandas-dataframe-up-by-one
반응형
'programing' 카테고리의 다른 글
| SqlCommand를 재사용하시겠습니까? (0) | 2023.09.03 |
|---|---|
| 컴파일러가 이 표현식 swift 4를 유형 검사할 수 없습니까? (0) | 2023.09.03 |
| IntelliJ: 기호 '스프링 프레임워크'를 확인할 수 없습니다. (0) | 2023.09.03 |
| JavaScript 및 jQuery를 사용한 크로스 브라우저 키 누르기 이벤트(F1-F12) 처리 (0) | 2023.09.03 |
| 이전 버전의 Python 사전에 있는 키 순서 (0) | 2023.09.03 |