본문 바로가기

indexing7

Python 정수 인덱스로 판다스 시리즈/데이터프레임의 행 선택, Selecting a row of pandas series/dataframe by integer index 질문 나는 df[2]가 지원되지 않는 이유에 대해 궁금합니다. 반면에 df.ix[2]와 df[2:3]는 모두 작동합니다. In [26]: df.ix[2] Out[26]: A 1.027680 B 1.514210 C -1.466963 D -0.162339 Name: 2000-01-03 00:00:00 In [27]: df[2:3] Out[27]: A B C D 2000-01-03 1.02768 1.51421 -1.466963 -0.162339 나는 df[2]가 Python 인덱싱 규칙과 일관되도록 df[2:3]와 동일하게 작동할 것으로 예상합니다. 단일 정수로 행을 인덱싱하는 것을 지원하지 않는 설계적인 이유가 있을까요? 답변 echoing @HYRY, see the new docs in 0.11 http:.. 2023. 9. 18.
Python 2차원 배열을 정의하는 방법은 무엇인가요?, How to define a two-dimensional array? 질문 나는 이렇게 초기화되지 않은 길이를 가진 2차원 배열을 정의하고 싶습니다: Matrix = [][] 하지만 이것은 오류를 발생시킵니다: IndexError: list index out of range 답변 기술적으로 초기화되지 않은 배열을 색인화하려고합니다. 항목을 추가하기 전에 먼저 외부 목록을 목록으로 초기화해야합니다. Python은 이를 "목록 내포"라고합니다. # 5 개의 목록을 포함하는 목록을 만들어 각각 8 개의 항목이 모두 0으로 설정됩니다. w, h = 8, 5 Matrix = [[0 for x in range(w)] for y in range(h)] # 이제 목록에 항목을 추가 할 수 있습니다: Matrix[0][0] = 1 Matrix[6][0] = 3 # 오류! 범위 ... Ma.. 2023. 6. 25.
Python 하나의 행씩 추가하여 판다스 데이터프레임 생성하기, Create a Pandas Dataframe by appending one row at a time 질문 빈 DataFrame을 만든 다음에 하나씩 행을 추가하는 방법은 어떻게 하나요? 빈 DataFrame을 만들었습니다: df = pd.DataFrame(columns=('lib', 'qty1', 'qty2')) 그런 다음 새로운 행을 끝에 추가하고 하나의 필드를 채울 수 있습니다: df = df._set_value(index=len(df), col='qty1', value=10.0) 한 번에 하나의 필드에 대해서만 작동합니다. df에 새로운 행을 추가하는 더 나은 방법은 무엇인가요? 답변 df.loc[i]를 사용할 수 있습니다. 여기서 인덱스 i의 행은 데이터프레임에서 지정한 대로 될 것입니다. >>> import pandas as pd >>> from numpy.random import randin.. 2023. 5. 24.
Python 판다스 데이터프레임에서 여러 열 선택하기, Selecting multiple columns in a Pandas dataframe 질문 a와 b 열을 df에서 선택하여 새로운 데이터프레임 df1에 저장하는 방법은 무엇인가요? index a b c 1 2 3 4 2 3 4 5 실패한 시도: df1 = df['a':'b'] df1 = df.ix[:, 'a':'b'] 답변 열 이름(문자열)은 시도한 방식으로 슬라이스할 수 없습니다. 여기에는 몇 가지 옵션이 있습니다. 슬라이스하려는 변수가 어떤 것인지 컨텍스트에서 알고 있다면, 리스트를 __getitem__ 구문 (대괄호)에 전달하여 해당 열만 보이도록 뷰를 반환할 수 있습니다. df1 = df[['a', 'b']] 또는 이름이 아닌 숫자로 인덱싱해야 하는 경우 (처음 두 열의 이름을 모르는 경우 코드가 자동으로 수행되어야 함) 대신 다음을 수행할 수 있습니다. df1 = df.iloc[.. 2023. 5. 19.