programing

팬더 데이터 프레임을 위치별로 자르는 방법은?

newsource 2023. 11. 1. 22:24

팬더 데이터 프레임을 위치별로 자르는 방법은?

나는 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 개체입니까?감사해요.

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.head.html?highlight=head#pandas.DataFrame.head

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

enter image description here

실행 시간에 영향을 미칠 수 있는 다양한 변수가 있기 때문에 사용되는 데이터 프레임 등에 따라 달라질 수 있습니다.


주의:

  • 대신에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