팬더 데이터 프레임을 위치별로 자르는 방법은?
나는 1000개의 행과 10개의 열을 가진 판다 데이터 프레임 객체를 가지고 있습니다.저는 단순히 데이터 프레임을 잘라내고 처음 10개의 행을 사용하고자 합니다.이거 어떻게 해요?이걸 사용하려고 노력해왔습니다.
>>> df.shape
(1000,10)
>>> my_slice = df.ix[10,:]
>>> my_slice.shape
(10,)
my_slice는 처음 열 열, 즉 10 x 10 데이터 프레임이어야 하지 않습니까?어떻게 하면 처음 열 개의 줄을 얻을 수 있을까요?my_slice10x10 Data Frame 개체입니까?감사해요.
df2 = df.head(10)
술수를 부리다
편의상 다음을 수행할 수도 있습니다.
df[:10]
그 방법에는 여러 가지가 있습니다.아래에서는 적어도 세 가지 옵션을 검토하겠습니다.
원래 데이터 프레임을 유지하기 위해df, 우리는 조각난 데이터 프레임을 다음에 할당할 것입니다.df_new.
마지막으로 시간 비교 섹션에서는 랜덤 데이터 프레임을 사용하여 다양한 실행 시간을 보여 줍니다.
옵션1
df_new = df[:10] # Option 1.1
# or
df_new = df[0:10] # Option 1.2
옵션2
사용중
df_new = df.head(10)
n의 음수 값의 경우, 이 함수는 마지막 n 행을 제외한 모든 행을 반환합니다.
df[:-n][출처].
옵션3
사용중
df_new = df.iloc[:10] # Option 3.1
# or
df_new = df.iloc[0:10] # Option 3.2
시간 비교
이 특정한 경우에는 실행 시간을 측정하는 데 사용했습니다.
method time
0 Option 1.1 0.00000120000913739204
1 Option 1.2 0.00000149995321407914
2 Option 2 0.00000170001294463873
3 Option 3.1 0.00000120000913739204
4 Option 3.2 0.00000350002665072680
실행 시간에 영향을 미칠 수 있는 다양한 변수가 있기 때문에 사용되는 데이터 프레임 등에 따라 달라질 수 있습니다.
주의:
대신에
10이전 작업을 원하는 행 수로 대체할 수 있습니다.예를들면df_new = df[:5]첫번째 데이터 프레임을 반환합니다.
5줄을 지어실행 시간을 측정하는 추가적인 방법이 있습니다.그 외의 방법에 대해서는 다음을 참조하십시오.파이썬 프로그램의 실행 시간을 얻으려면 어떻게 해야 합니까?
다음과 같은 람다 함수로 이전 옵션을 조정할 수도 있습니다.
df_new = df.apply(lambda x: x[:10]) # or df_new = df.apply(lambda x: x.head(10))그러나 .apply()의 사용에 대해 강력한 의견이 있으며, 이 경우 필수 방법과는 거리가 멀다는 점에 유의하십시오.
df.ix[10,:]열 번째 행의 모든 열을 제공합니다.당신의 경우에는 10번째 줄까지 모든 것을 원하실 겁니다.df.ix[:9,:]. 슬라이스 범위의 오른쪽 끝이 포함되어 있습니다. http://pandas.sourceforge.net/gotchas.html#endpoints-are-inclusive
DataFrame[:n]첫번째 행을 반환합니다.
언급URL : https://stackoverflow.com/questions/12021754/how-to-slice-a-pandas-dataframe-by-position
'programing' 카테고리의 다른 글
| C의 문자열을 빈 문자열로 초기화 (0) | 2023.11.06 |
|---|---|
| 페이지가 로드될 때 텍스트 입력에서 포커스를 제거할 수 있습니까? (0) | 2023.11.01 |
| MySQL이 null/empty를 반환하는지 확인하는 방법은 무엇입니까? (0) | 2023.11.01 |
| 정수를 문자 등가로 변환합니다. 여기서 0 = > a, 1 = > b 등 (0) | 2023.11.01 |
| Oracle 데이터 유형의 문자열 값을 코드로 결정하려면 어떻게 해야 합니까? (0) | 2023.11.01 |
