[PYTHON] 팬더 DataFrame에서 특정 셀의 값을 iloc으로 설정
PYTHON팬더 DataFrame에서 특정 셀의 값을 iloc으로 설정
이 질문과 이것과 비슷한 질문이 있습니다. 차이점은 색인을 모르므로 위치별로 행을 선택해야한다는 것입니다.
df.iloc [0, 'COL_NAME'] = x와 같은 작업을하고 싶지만 iloc은 이러한 종류의 액세스를 허용하지 않습니다. df.iloc [0] [ 'COL_NAME] = x를 수행하면 연결 색인 생성에 대한 경고가 나타납니다.
해결법
-
==============================
1.혼합 위치 및 색인의 경우 .ix를 사용하십시오. 그러나 인덱스가 정수가 아닌지 확인해야합니다. 그렇지 않으면 혼동을 일으킬 수 있습니다.
혼합 위치 및 색인의 경우 .ix를 사용하십시오. 그러나 인덱스가 정수가 아닌지 확인해야합니다. 그렇지 않으면 혼동을 일으킬 수 있습니다.
df.ix[0, 'COL_NAME'] = x
또는
df.iloc[0, df.columns.get_loc('COL_NAME')] = x
예:
import pandas as pd import numpy as np # your data # ======================== np.random.seed(0) df = pd.DataFrame(np.random.randn(10, 2), columns=['col1', 'col2'], index=np.random.randint(1,100,10)).sort_index() print(df) col1 col2 10 1.7641 0.4002 24 0.1440 1.4543 29 0.3131 -0.8541 32 0.9501 -0.1514 33 1.8676 -0.9773 36 0.7610 0.1217 56 1.4941 -0.2052 58 0.9787 2.2409 75 -0.1032 0.4106 76 0.4439 0.3337 # .iloc with get_loc # =================================== df.iloc[0, df.columns.get_loc('col2')] = 100 df col1 col2 10 1.7641 100.0000 24 0.1440 1.4543 29 0.3131 -0.8541 32 0.9501 -0.1514 33 1.8676 -0.9773 36 0.7610 0.1217 56 1.4941 -0.2052 58 0.9787 2.2409 75 -0.1032 0.4106 76 0.4439 0.3337
-
==============================
2.당신이 그 입장을 안다면, 왜 그 인덱스를 얻지 않을까요?
당신이 그 입장을 안다면, 왜 그 인덱스를 얻지 않을까요?
그런 다음 .loc을 사용하십시오.
df.loc[index, 'COL_NAME'] = x
-
==============================
3.필자가 여기에 추가 할 것은 데이터 프레임의 at 함수가 특히 개별 (슬라이스가 아닌) 값의 할당을 많이 수행하는 경우 훨씬 빠릅니다.
필자가 여기에 추가 할 것은 데이터 프레임의 at 함수가 특히 개별 (슬라이스가 아닌) 값의 할당을 많이 수행하는 경우 훨씬 빠릅니다.
df.at[index, 'col_name'] = x
제 경험으로는 20 배의 속도 향상을 경험했습니다. 여기에 스페인어로 글을 쓰지 만 계속 진행되고 있다는 인상을줍니다.
-
==============================
4.또 다른 방법은 행 인덱스를 가져온 다음 df.loc 또는 df.at를 사용하는 것입니다.
또 다른 방법은 행 인덱스를 가져온 다음 df.loc 또는 df.at를 사용하는 것입니다.
# get row index 'label' from row number 'irow' label = df.index.values[irow] df.at[label, 'COL_NAME'] = x
-
==============================
5.다른 방법은 다음과 같습니다.
다른 방법은 다음과 같습니다.
df["COL_NAME"].iloc[0]=x
from https://stackoverflow.com/questions/31569384/set-value-for-particular-cell-in-pandas-dataframe-with-iloc by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 주어진 패턴의 임의의 텍스트 문자열 생성하기 (0) | 2018.10.28 |
---|---|
[PYTHON] 두 개의 파이썬 루프를 동시에 실행하려면 어떻게해야합니까? (0) | 2018.10.28 |
[PYTHON] 회전하는 명령 행 커서를 만드는 방법은 무엇입니까? (0) | 2018.10.28 |
[PYTHON] Mac OS X에서 현재 활성 창 / 문서의 제목 가져 오기 (0) | 2018.10.28 |
[PYTHON] bool ()과 operator.truth () 사이의 차이점은 무엇입니까? (0) | 2018.10.27 |