팬더 데이터 프레임을 위치별로 자르는 방법은?
나는 1000개의 행과 10개의 열을 가진 판다 데이터 프레임 객체를 가지고 있습니다.저는 단순히 데이터 프레임을 잘라내고 처음 10개의 행을 사용하고자 합니다.이거 어떻게 해요?이걸 사용하려고 노력해왔습니다.
>>> df.shape
(1000,10)
>>> my_slice = df.ix[10,:]
>>> my_slice.shape
(10,)
my_slice는 처음 열 열, 즉 10 x 10 데이터 프레임이어야 하지 않습니까?어떻게 하면 처음 열 개의 줄을 얻을 수 있을까요?my_slice
10x10 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 |