Pandas: DataFrame 작업
DataFrame 구축
df = pd.DataFrame(data, index=[], columns=[])
: data
는 2차원수조df
는 다음과 같다. >>> tuples = [('a', 'v1'), ('a', 'v2'), ('b', 'v1'), ('b', 'v2')]
>>> index = pd.MultiIndex.from_tuples(tuples)
>>> columns = ['c1', 'c2']
>>> values = np.arange(8).reshape(4, 2)
>>> df = pd.DataFrame(values, columns=columns, index=index)
>>> df
c1 c2
a v1 0 1
v2 2 3
b v1 4 5
v2 6 7
다중 열 선택
df[col_names_list]
: 열 이름 목록을 통해 여러 열을 직접 선택df.select_dtypes(include=['int'])
: 데이터 형식이 int
인 열을 선택df.filter(like='str', regex='re')
: 이 방법은 모든columnnames만 검사하고 정확한 데이터는 검사하지 않습니다df[new_col_order_list]
: df의 열 조직 순서를 정할 때 원하는 열 이름 순서로 index(df + .00501)// .01
: df의 데이터를 모두 1자리 소수로 반올림df.add(.00501).floordiv(.01)
: 위와 동일In [1]: .045 + .005
Out [1]: 0.049999999999999996
그래서 한 소수로 할 때 0.00001을 더 넣었어요.
df_1 == df_2
: 같은 shape의 df를 되돌려줍니다. 값은 모두 bool 형식이고 대응하는 데이터가 같은지 확인df.sort_values()
: df.loc[] 및 df.iloc[]사용법 집합
1. df.loc[] 자세히 보기
참고: 아래
i1
i2
는 index 를 나타냅니다.label, c1
c2
columnname df.loc['i1']
: 줄의 데이터를 포함하는 Series
행을 반환i1
: 한 줄df.loc[['i1', 'i2']]
을 반환하고 df
i1
두 줄의 데이터를 포함i2
: 해당 위치의 데이터를 반환df.loc['i1', 'c1']
: 줄과 열을 포함하는 df.loc['i1':'12', 'c1':'c2']
를 되돌려줍니다 df
: df.loc[df['c1'] > 1]
열에 1보다 큰 값을 포함하는 모든 줄을 되돌려줍니다 df
c1
: 되돌아오는 df.loc[df['c1'] > 1, ['c2']]
열df
에 포함된 df
열c2
: df.loc[lambda df: df['c1'] == 1]
열에 1과 같은 값을 포함하는 모든 줄을 되돌려줍니다 df
c1
: df.loc[['i1', 'i2'], ['c1']] = 1
에서 해당 위치의 데이터를 1df
: 해당 행의 데이터를 모두 1로 변경df.loc['i1'] = 1
: 대응하는 열의 데이터를 모두 1로 변경df.loc[:, 'c1'] = 1
: 열이 1보다 큰 행에 대한 모든 데이터를 0df.loc[df['c1'] > 1] = 0
: 1-9 행의 데이터 반환df.loc[1:9]
에 대한 조작은 df
로 마지막에 보면 된다2. help(pd.DataFrame.loc) 상세 정보
df.iloc[]
와 같은 기능은 완전히 숫자를 바탕으로 인덱스할 뿐이다. 예를 들어 df.loc[]
는 df.iloc[1:3, 1:3]
에 해당하고 다른 것은 유사df.loc['i1':'i1', 'c1':'c3']
도 완전히 디지털 기반 인덱싱df.loc[]: 해당 위치의 값을 반환합니다. 'df.at['i1','c1'] = 1`: 대응하는 위치의 값을 1로 설정
Boolean Selection
df.at['i1', 'c1'] :
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.